์ด JavaScript ์ค ๋ํซ์ ์คํํ๋ ๋ช
๋ฐฑํ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
--- js ์ฝ๋ ---
ํ์ ( '์๊ฐ')
console.log ( '--- ์์')
console.log ( 'moment (). format () :', moment (). format ())
console.log ( '--- ๋')
--- ์ถ๋ ฅ ---
[์คํ ์ค] ๋
ธ๋ "c : \ lab \ temp-ackikjupmw.js"
--- ์์
C : \ lab \ temp-ackikjupmw.js : 3
console.log ( 'moment (). format () :', moment (). format ())
^
ReferenceError : ์๊ฐ์ด ์ ์๋์ง ์์์ต๋๋ค.
๊ฐ์ฒด์์.
Module._compile (module.js : 541 : 32)
Object.Module._extensions..js (module.js : 550 : 10)
Module.load (module.js : 458 : 32)
tryModuleLoad (module.js : 417 : 12)์์
Function.Module._load (module.js : 409 : 3)
Function.Module.runMain (module.js : 575 : 10)์์
์์ํ ๋ (node.js : 160 : 18)
node.js : 449 : 3์์
[์๋ฃ]๊ฐ 0.189 ์ด ํ์ ์ฝ๋ = 1๋ก ์ข ๋ฃ๋์์ต๋๋ค.
์๋
ํ์ธ์ @rana , ๊ธ๋ก๋ฒ ๋๋ C:\lab\node_modules
moment npm ํจํค์ง๊ฐ ์ค์น๋์ด ์์ต๋๊น?
์๋ ํ์ธ์ @formulahendry ,
๋๋ ์ฝ๋ ๋ฌ๋๋ฅผ ์ข์ํ๊ณ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ๋ ๋ง์ด ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค!
์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ 'C : \ labnode_modules \ moment'์ ์์ต๋๋ค. ์ค์น ํ ๋ชจ๋ ๋ ธ๋ ๋ชจ๋์ด ์์ต๋๋ค. vscode-code-runner๋ก js ์ค์ ์ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ํด ํ์ ํ์ง ๋ชปํฉ๋๋ค. JavaScript์ ๋ํ ๋ฌธ์๊ฐ ์กฐ๊ธ ๋ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ชจ๋ ์ฐธ์กฐ๊ฐ์๋ ์๋ฐ ์คํฌ๋ฆฝํธ ํธ์ถ์ด ์ ์คํ๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋๊ตฌ๋ฅผ ๊ตฌ์ฑํ์ง ์๋ ๊ฐ๋จํ ๊ฒฝ์ฐ์ ๋๊น?
๋ค์์ ์์ ์ ํจ๊ป ๋ฌธ์์์ ๋ต๋ณ์๋ณด๊ณ ์ถ์ ๋ช ๊ฐ์ง ์ถ๊ฐ ์ง๋ฌธ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค!
๋ผ๋
์๋ ํ์ธ์ @rana ,
์ง๋ฌธ 1์ ๊ฒฝ์ฐ require ( 'some-lib')๊ฐ ์ง์๋ฉ๋๋ค. ์ค์ ๋ก Code Runner๋ก js๋ฅผ ์คํํ๋ ๊ฒ์ js ํ์ผ์ ์์์ node C:\lab\your-file.js
๋ก ์คํํ๋ ๊ฒ๊ณผ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์
ธ (bash ๋๋ CMD)์์ node C:\lab\your-file.js
๋ฅผ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ์ฃผ์๊ฒ ์ต๋๊น?
์ง๋ฌธ 2์ ๊ฒฝ์ฐ es6 ๊ตฌ๋ฌธ์ผ๋ก js๋ฅผ ์คํ ํ์๊ฒ ์ต๋๊น?
babel-node๋ฅผ ์ค์นํ ์ ์์ต๋๋ค : npm install -g babel-cli
๊ทธ๋ฆฌ๊ณ code-runner.executorMap
๋ฅผ ์๋์ ๊ฐ์ด ์ค์ ํฉ๋๋ค.
{
"code-runner.executorMap": {
"javascript": "babel-node"
}
}
@formulahendry @rana ์ฌ๊ธฐ์ ๋ฐ๋ผ ๋ฐ์ํ๋ ๋ค๋ฅธ ์ฌ๋์ด ์ฌ๊ธฐ์ ์ค์นํ์ง ์๊ณ ๋ ES6 / 7 ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ babel-cli
์ธ๊ณ์ ์ผ๋ก (๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง)
"code-runner.executorMap": {
"javascript": "$workspaceRoot/node_modules/.bin/babel-node --harmony $fullFileName"
}
--harmony
ํ๋๊ทธ๋ babel-node
์ฌ์ฉ ๋ฐฉ์์ ๋ฐ๋ผ ์ ํ ์ฌํญ์
๋๋ค.
@formulahendry ์ด๋ฌํ ํ๋ฅญํ ์ ํ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ์ํ ํ์ผ / ํด๋ ์์น๋ฅผ ์ ๊ณตํ์ฌ์ด๋ฅผ ์ํ ํ ์ ์๋๋กํ๋ ๊ฒ์ ๋ชจ๋ ๊ฐ์ ธ ์ค๊ธฐ / ์๊ตฌ ์ฌํญ์ด ๊ฐ์ ธ ์ค๊ธฐ๋ฅผ ์ํํ๋ ํ์ผ๊ณผ ๊ด๋ จ๋ ๋ ธ๋ ์ธ๊ณ์์ ํ๋ฅญํ๊ณ ํ์ํฉ๋๋ค.
npm i esm
ํ๋ฉด ๋ ๋น ๋ฅด๊ฒ ์๋ํฉ๋๋ค.
"code-runner.executorMap": {
"javascript": "node -r esm $fullFileName"
}
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
npm i esm
ํ๋ฉด ๋ ๋น ๋ฅด๊ฒ ์๋ํฉ๋๋ค."code-runner.executorMap": { "javascript": "node -r esm $fullFileName" }