2024. 7. 17. 14:26ใFront End CS ์ง์
Node.js ์ NPM์ ์๋ฉด ์นํฉ์ ๋ค๋ฃจ๊ธฐ ์ฉ์ดํด์ง๋๋ค.
Node.js
- ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์๋ฒ์์ ์คํํ๊ธฐ ์ํ ๋ฐํ์ ํ๊ฒฝ์ ๋๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฑ์๋์์๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์ธ์ด๋ก ์์ฑํ ์ ์์ต๋๋ค.
Node.js ์คํ
App.js ํ์ผ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ,
// App.js
console.log('hello')
ํฐ๋ฏธ๋์ ์ด์ฉํ์ฌ ํด๋น ๊ฒฝ๋ก์์ node ๋ช ๋ น์ด๋ก ํ์ผ์ ์คํํ๋ฉด "hello"๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
node App.js
NPM(Node Package Manager)
- ์๋ฐ์คํฌ๋ฆฝํธ์ ํจํค์ง ๊ด๋ฆฌ์์ ๋๋ค.
- Node.js ์ ๊ธฐ๋ณธ ํจํค์ง ๊ด๋ฆฌ์ ์ญํ ์ ํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๊ตฌ๋ฅผ ์ค์นํ๊ณ ๊ด๋ฆฌํ๋๋ก ๋์์ค๋๋ค.
*NPM ์ Node.js ์ค์น ์ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค.
NPM ์คํ
์ฐ์ , ํด๋ํ๋๋ฅผ ๋ง๋ค๊ณ ํด๋น ๊ฒฝ๋ก์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
npm init -y
npm ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ด์ package.json ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
ํ ๋ง๋๋ก,
Node.js๋ ์๋ฒ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์ ํ๊ฒฝ์ด๊ณ , NPM์ ๊ทธ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ํจํค์ง ๊ด๋ฆฌ์๋ค.
NPM ๋ชจ๋ ์ค์นํ๊ธฐ
npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ
npm i ๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ง์ญ ์ค์น
package.json ํ์ผ ์์ฑ ํ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ฒ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค.
npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ --save-prod
// --save-propd ์๋ต ๊ฐ๋ฅ
NPM ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋๋ฉด node_modules ํด๋๊ฐ ์์ฑ๋ฉ๋๋ค.
๊ฐ๋ฐ์ฉ / ๋ฐฐํฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ NPM ์ค์น ์ต์
NPM ์ ์ง์ญ์ผ๋ก ์ค์นํ ๋ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ฐ๋ฐ์ฉ์ธ์ง ๋ฐฐํฌ์ฉ์ธ์ง ๊ตฌ๋ถํ์ฌ ์ค์นํด์ผ ํฉ๋๋ค.
- ๋ฐฐํฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์ต์
- --save-prod / ์๋ต ๊ฐ๋ฅ
- ํ๋ฉด ๋ก์ง๊ณผ ์ง์ ์ ์ผ๋ก ๊ด๋ จ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(ex: jquery)
npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ --save-prod
// npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋์ผ
๋ฐฐํฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์ package.json ์ dependencies ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฑ๋ก๋ฉ๋๋ค.
๋ฐฐํฌ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋๋ฉด ๋ค์ ๋ช ๋ น์ด๋ก ๋น๋ํ๋ฉด ์ต์ข ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ ์์ ํฌํจ๋ฉ๋๋ค.
npm run build
- ๊ฐ๋ฐ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์ต์
- --save-dev / -D
npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ --save-dev
// npm install jquery -D
๊ฐ๋ฐ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์ package.json์ devDependencies ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ฑ๋ก๋ฉ๋๋ค.
๊ฐ๋ฐ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น์ ๊ฒฝ์ฐ ๋น๋ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์์๋ ๋น ์ง๊ฒ ๋๋ฏ๋ก,
์ต์ข ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌํจ๋์ด์ผ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ --save-prod(์๋ต๊ฐ๋ฅ) ์ต์ ์ ์ฌ์ฉํ์ฌ ์ค์นํด์ผ ํฉ๋๋ค.
์ ์ญ ์ค์น
npm install ๋ผ์ด๋ธ๋ฌ๋ฆฌ --global
npm inatall ๋ผ์ด๋ธ๋ฌ๋ฆฌ -g
ํ๋ก์ ํธ์์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋, ์์คํ ๋ ๋ฒจ์์ ์ฌ์ฉํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค.
์ ์ญ ์ค์น ๊ฒฝ๋ก
์์คํ ๋ ๋ฒจ์ ์ค์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฐ๋์ ๋ค์ ๊ฒฝ๋ก์ ์ค์น๋ฉ๋๋ค.
// Mac OS
/usr/local/lib/node_modules
// Window OS
%USERPROFILE%\AppData\Roaming\npm\node_modules
๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋๋ฉด ํฐ๋ฏธ๋์ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ์ ์ ๋ ฅํ์ ๋ ๋ช ๋ น์ด๋ฅผ ์ธ์ํฉ๋๋ค.
NPM ์ปค์คํ ๋ช ๋ น์ด
npm ์์ ์ ๊ณตํ๋ ๊ฒ ์ธ์ ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ ์ด๋ฆ๊ณผ ๋์์ ์ํํ๋ ๋ช ๋ น์ด์ ๋๋ค.
npm run ๋ช
๋ น์ด
์์) "hello world"๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด
๋ค๋ฅธ ์ปค์คํ ๋ช ๋ น์ด์์ ์กฐํฉ๋ ๊ฐ๋ฅํฉ๋๋ค.
๋จผ์ build ์ ์ ์ํ react-scripts build ๋ช ๋ น์ด๊ฐ ์คํ๋ ํ delpoy ์ --mode production ๋ช ๋ น์ด๊ฐ ์คํ๋ฉ๋๋ค.
์ฐธ๊ณ :
https://joshua1988.github.io/webpack-guide/build/node-npm.html
'Front End CS ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Webpack - (5) ์นํฉ์ ์์ฑ๋ค์ ์์๋ณด์ (0) | 2024.07.19 |
---|---|
Webpack - (4) ์ด์ ๊ฐ๋จํ๊ฒ ์นํฉ์ ์ฌ์ฉํด๋ณด์ (0) | 2024.07.18 |
Webpack - (2) ์ ์นํฉ์ ์ฌ์ฉํ ๊น ? (0) | 2024.07.17 |
Webpack - (1) ์นํฉ์ด ๋ญ๋ฐ! (0) | 2024.07.17 |
2024 ํ๋ก ํธ์๋ ๊ฐ๋ฐ ํธ๋ ๋ (0) | 2024.01.08 |