Node.jsλ ν¬λ‘¬ V8 μμ§μ΄ νμ¬λ μλ°μ€ν¬λ¦½νΈ λ°νμμ λ§νλ€.
μ½κ² λ§νλ©΄, λΈλΌμ°μ λ°κΉ₯μμ μΈ μ μλ μλ°μ€ν¬λ¦½νΈ
μ΄λ€.
μλ μλ°μ€ν¬λ¦½νΈλ λΈλΌμ°μ μμλ§ μΈ μ μμλ€.
κ·Έλ¬λ, Node.jsκ° λ±μ₯νλ©΄μ λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μ²λΌ λΈλΌμ°μ λ°κΉ₯μμλ μΈ μ μκ² λμλ€.
npmμ΄λ μλ°μ€ν¬λ¦½νΈ μΈμ΄λ₯Ό μν ν¨ν€μ§ 맀λμ
λ₯Ό λ§νλ€.
μ΄λ₯Ό ν΅ν΄ λ€λ₯Έ μ¬λλ€μ΄ λ§λ ν¨ν€μ§λ₯Ό λ€μ΄λ°μ μ μλ€.
λνμ μΈ ν¨ν€μ§λ‘λ expressκ° μλ€.
package.json νμΌμ λ§λ ν(νμΌλͺ λ³κ²½x) JSON Objectλ₯Ό μ΄μ©ν΄ νλ‘μ νΈ μ΄λ¦μ μ μ΄μ£Όμλ€.
{
"name": "wetube"
}
package.json νμΌκ³Ό js νμΌ 2κ°λ§μΌλ‘λ νλ‘μ νΈλ₯Ό λ§λ€ μ μλ€.
κ·Έλ¬λ, νμΌμ μ¬λ¬ κ° μ¬μ©νκ³ μ 보λ λ§μ΄ μ¬μ©ν΄μΌ νλ€λ©΄ μ€μλ₯Ό λ°©μ§νκΈ° μν΄ npmμ μ΄μ©ν΄ package.json νμΌμ λ§λ€λλ‘ νλ€.
VS codeμμ νλ‘μ νΈ ν΄λλ₯Ό μ° ν λ΄μ₯ ν°λ―Έλμμ git initμ μ λ ₯νλ€
githubμμ new repositoryλ₯Ό λ§λ λ€
repository μ£Όμ λ³΅μ¬ ν ν°λ―Έλμμ git remote add origin [볡μ¬ν repository μ£Όμ]μ μ λ ₯νλ€
ν°λ―Έλμμ npm init
μ μ
λ ₯νλ€.
Enterλ₯Ό κ³μ λλ₯΄λ©΄μ μ 보λ₯Ό νμΈ λ° μ λ ₯νλ€. license: (ISC)μ MITλ₯Ό μ λ ₯νλ€.
package.json νμΌμ΄ λ§λ€μ΄μ§λ©΄ ν°λ―Έλμμ μ λ ₯νμ§ μμ μ 보λ€μ μ§μ μ λ ₯ λ° μμ ν μλ μλ€.
"main": "index.js"
νλ‘κ·Έλ¨ λν νμΌμ΄ index.jsλΌλ λ»μ΄λ€. λκ΅°κ°κ° λ§λ€μ΄μ λ°°ν¬ν packageλ₯Ό λ€λ₯Έ μ¬λμ΄ μ€μΉνλ©΄ mainμ μ¬μ©νκ² λλ€.
μ§κΈ λ§λ νμΌμ μ무λ λ€μ΄λ°μ§ μμ κ²μ΄λ―λ‘ ν΄λΉ μ½λλ μ§μμ€λ μλ¬΄λ° λ¬Έμ κ° μλ€. main, description, author λ±μ νμ μμκ° μλλ€. λ€λ§, index.js νμΌμ λ§λ€μ΄μ£Όλλ‘ νλ€.
{
"name": "wetube",
"version": "1.0.0",
"description": "The best way to watch a videos",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/LeeSyong/wetube-reloaded.git"
},
"author": "Syong",
"license": "MIT",
"bugs": {
"url": "https://github.com/LeeSyong/wetube-reloaded/issues"
},
"homepage": "https://github.com/LeeSyong/wetube-reloaded#readme"
}
μ΄μ index.js νμΌμ console.log('Hello NodeJS'); λΌκ³ μ½λλ₯Ό μμ±νμ λ, μ΄λ₯Ό μ΄λ»κ² μ€νμν¬ μ μλμ§ μμ보μ.
π λ°©λ² 1. VS code λ΄μ₯ ν°λ―Έλμ node index.js
λ₯Ό μ§μ μ
λ ₯νλ€.
π λ°©λ² 2. package.jsonμ scriptsλ₯Ό λ§λ λ€.
scripts μμ μμλ‘ μ§μ script μ΄λ¦κ³Ό ν¨κ» μ€ννκ³ μ νλ μ½λλ₯Ό μ μ΄μ€λ€.
"scripts": {
"start": "node index.js"
}
κ·Έ ν, VS code λ΄μ₯ ν°λ―Έλμ npm run start(script μ΄λ¦)
λ₯Ό μ
λ ₯νλ€.
node index.jsλΌλ λͺ
λ Ήμ΄λ₯Ό npmμκ² μ€νμμΌ λ¬λΌκ³ νλ κ²μ΄λ€.
μ΄λ₯Ό ν΅ν΄ μλ²λ₯Ό μμνλ script, CSSλ₯Ό μμΆνλ script, μΉμ¬μ΄νΈλ₯Ό λΉλνκ³ μλ²μ λ°°ν¬νλ script λ± μ§μ λ§λ scriptsλ₯Ό μ½μμμ μ¬μ©ν μ μλ€.