[TIL] 211111

Lee SyongΒ·2021λ…„ 11μ›” 11일
0

TIL

λͺ©λ‘ 보기
85/204
post-thumbnail

πŸ“ 였늘 ν•œ 것

  1. Node.js μ„€μΉ˜ / package.json 파일 생성 (npm init) / scripts (npm run)

πŸ“– ν•™μŠ΅ 자료

  1. λ…Έλ§ˆλ“œ 코더 '[ν’€μŠ€νƒ] 유튜브 클둠코딩'

πŸ“š 배운 것

1. Node.js

1) Node.js

Node.jsλž€ 크둬 V8 엔진이 νƒ‘μž¬λœ μžλ°”μŠ€ν¬λ¦½νŠΈ λŸ°νƒ€μž„μ„ λ§ν•œλ‹€.
μ‰½κ²Œ λ§ν•˜λ©΄, λΈŒλΌμš°μ € λ°”κΉ₯μ—μ„œ μ“Έ 수 μžˆλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ΄λ‹€.

μ›λž˜ μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” λΈŒλΌμš°μ €μ—μ„œλ§Œ μ“Έ 수 μžˆμ—ˆλ‹€.
κ·ΈλŸ¬λ‚˜, Node.jsκ°€ λ“±μž₯ν•˜λ©΄μ„œ λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ²˜λŸΌ λΈŒλΌμš°μ € λ°”κΉ₯μ—μ„œλ„ μ“Έ 수 있게 λ˜μ—ˆλ‹€.

2) npm

npmμ΄λž€ μžλ°”μŠ€ν¬λ¦½νŠΈ μ–Έμ–΄λ₯Ό μœ„ν•œ νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €λ₯Ό λ§ν•œλ‹€.
이λ₯Ό 톡해 λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ§Œλ“  νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ°›μ„ 수 μžˆλ‹€.
λŒ€ν‘œμ μΈ νŒ¨ν‚€μ§€λ‘œλŠ” expressκ°€ μžˆλ‹€.

3) Node.js μ‹€μŠ΅

(1) 직접 package.json 파일 생성

package.json νŒŒμΌμ„ λ§Œλ“  ν›„(파일λͺ… λ³€κ²½x) JSON Objectλ₯Ό μ΄μš©ν•΄ ν”„λ‘œμ νŠΈ 이름을 μ μ–΄μ£Όμ—ˆλ‹€.

{
  "name": "wetube"
}

package.json 파일과 js 파일 2κ°œλ§ŒμœΌλ‘œλ„ ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€ 수 μžˆλ‹€.
κ·ΈλŸ¬λ‚˜, νŒŒμΌμ„ μ—¬λŸ¬ 개 μ‚¬μš©ν•˜κ³  정보도 많이 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€λ©΄ μ‹€μˆ˜λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ npm을 μ΄μš©ν•΄ package.json νŒŒμΌμ„ λ§Œλ“€λ„λ‘ ν•œλ‹€.

(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'); 라고 μ½”λ“œλ₯Ό μž‘μ„±ν–ˆμ„ λ•Œ, 이λ₯Ό μ–΄λ–»κ²Œ μ‹€ν–‰μ‹œν‚¬ 수 μžˆλŠ”μ§€ μ•Œμ•„λ³΄μž.

(3) μ½”λ“œ μ‹€ν–‰ν•˜λŠ” 방법 (scripts와 npm)

πŸ”Ž 방법 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λ₯Ό μ½˜μ†”μ—μ„œ μ‚¬μš©ν•  수 μžˆλ‹€.


✨ 내일 ν•  것

  1. κ°•μ˜ 계속 λ“£κΈ°
profile
λŠ₯λ™μ μœΌλ‘œ μ‚΄μž, ν–‰λ³΅ν•˜κ²ŒπŸ˜

0개의 λŒ“κΈ€