์ ๋ ๋ช ๋ฌ ๋์ ํ๋ก์ ํธ๋ฅผ ์งํํด ์์ผ๋ฉฐ Atom์ ์ฌ์ฉํ์ฌ ์ฑ์ ํฌํจํ๊ณ ์ถ์ต๋๋ค. ํ๋ก์ ํธ๋ requireJS๋ฅผ ์ฌ์ฉํ๋ฉฐ ์น ๋ฒ์ ์ด๋ node-webkit ๋น๋์์๋ ์คํฌ๋ฆฝํธ ๋ก๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์์ง๋ง Atom์ ์ฌ์ฉํ๋ฉด ์คํฌ๋ฆฝํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋ก๋๋์ง ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํด ์์ ์๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋งฅ ๋น๋์
๋๋ค.
https://github.com/cniaulin/loading-issue
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๊ณ Atom.app์ ์คํํฉ๋๋ค. ๋ชจ๋ฉํธ๊ฐ ์ ์๋์๋์ง ํ์ธํ๊ณ cmd + r์ด ์์ธ ๊ฒฝ์ฐ ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋์ ์ ์ ์์ต๋๋ค.
cmd + alt + i๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ์์ ํ์ํ ์ ์์ต๋๋ค.
ํ์ผ ์์น: Atom.app/Contents/Resources/app/
๋๊ตฌ๋ ์ง ์๋ฃจ์ ์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์๋
ํ์ธ์, ๋ด๊ฐ requireJ์ ๋ํด ์๋ ๊ฒ์ ๊ทธ๋ค์ด ์ถฉ๋ํ๋ ๋
ธ๋์ ์ ์ฌํ require ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์
๋๋ค. requirejs๋ฅผ ๋์ฒด ๋ฉ์๋๋ก ์ฌ์ฉํด๋ณด์ญ์์ค.
๋ชจ๋ฒ ์ฌ๋ก: npm์ ์ฌ์ฉํ์ฌ ๋
ธ๋ ์ ์ฉ ํจํค์ง/๋ชจ๋์ ํ๋ก์ ํธ node_modules ๋๋ ํ ๋ฆฌ์ ์ค์นํ๋ node_modules ๋๋ ํ ๋ฆฌ ๋ด๋ถ๋ฅผ ๋ณด๋๋ก RequireJS๋ฅผ ๊ตฌ์ฑํ์ง ๋ง์ญ์์ค. ๋ํ ๋
ธ๋ ์ ์ฉ ๋ชจ๋์ธ ๋ชจ๋์ ์ฐธ์กฐํ๊ธฐ ์ํด ์๋ ๋ชจ๋ ID๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ๋ฐ๋ผ์ require("./node_modules/foo/foo")์ ๊ฐ์ ์์
์ ์ํํ์ง ๋ง์ญ์์ค.
http://requirejs.org/docs/node.html ์ ๋ ์ฐพ์๋ณด์ญ์์ค.
@cniaulin ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด require.js
๋ฅผ ๋ก๋ํ๊ธฐ ์ ์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก require
๋ณ์๋ฅผ ํด์ ํ๋ ๊ฒ์
๋๋ค.
<script>
if (window.require) {
window.nodeRequire = window.require;
delete window.require;
}
</script>
require
์ Node.js ๋ฒ์ ์ ํธ์ถํ๋ ค๋ ๊ณณ๋ง๋ค nodeRequire
๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.
atom-shell์์ requireJS๋ฅผ ์ง์ํ ๊ณํ์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ซ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@cniaulin ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด
require.js
๋ฅผ ๋ก๋ํ๊ธฐ ์ ์ ๋ค๋ฅธ ์ด๋ฆ์ผ๋กrequire
๋ณ์๋ฅผ ํด์ ํ๋ ๊ฒ์ ๋๋ค.require
์ Node.js ๋ฒ์ ์ ํธ์ถํ๋ ค๋ ๊ณณ๋ง๋คnodeRequire
๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.