티스토리 뷰
궁금증의 시작은 리액트에서 SCSS 사용 환경을 구축하려고 하면서 시작됐다.
사실 매번 npm으로 패키지들을 다운 받을 때, 아무생각없이 npm install - 로 다운받곤 했다.
하지만 패키지 사용에 대한 설명들을 보면 제각기 install의 방법이 달랐다.
특히 --save와 --save-dev는 단골이어서 이참에 사용법을 이해하기로 했다.
결론부터 말하면, npm install은 node_modules 내에 패키지를 설치 후 어떠한 dependencies에도 추가되지 않았었다. 때문에 npm install과 npm install --save간에 dependencies에 아무것도 추가되지 않느냐, 추가되느냐에 따른 차이가 있었다.
하지만 npm 5버전 이후부터는 npm install만 적어도 dependencies에 추가가 된다(현재 최신은 6.xx 버전이다).
`npm install` saves any specified packages into `dependencies` by default.
공식문서가 그렇단다.
npm install과 npm install --save의 기능이 같다는 뜻!
아래를 보면 --save-prod도 디폴트라고 적혀있다.
아마 그냥 npm install, --save, --save-prod 셋 다 같은 역할을 하는 듯 싶다.
`-P, --save-prod`: Package will appear in your `dependencies`.
This is the default unless `-D` or `-O` are present.
npm install --save-dev(줄여서 -D라고도 한다)는 node_modules에 패키지를 설치 후, devDependencies에 추가된다.
여기서 dependencies는 내가 설치하는 입장에서는 설치하려는 패키지가 어떤 패키지들에 필수적으로 의존하고 있는지를 알려준다. dependencies에 있는 항목들은 필수적으로 함께 설치돼야 하는 것이다.
devDependencies는 배포 시 굳이 설치할 필요가 없는 개발단계에서만 사용하는 패키지들을 추가한다. 이곳에 추가된 항목들은 --production을 붙여 install 하면 제외되고 dependencies 항목들만 설치가 된다.
참고로 개발용으로 돌리는 항목들은 eslint, webpack이 대표적이다.
참고:
'Basic_Studies > Node.js' 카테고리의 다른 글
[Node.js] Heroku에 Strapi(Postgresql) 배포하기 (0) | 2022.01.21 |
---|---|
[Node.js] 네이버 문자 전송 API 사용하기(feat. axios) (3) | 2021.09.09 |
- Total
- Today
- Yesterday
- 백준 10989 파이썬
- 움직이는 글래스모피즘
- Til
- 리액트 스크롤
- bs4 크롤링
- react router
- dvd 효과
- 화이팅
- 자바스크립트
- 글래스모피즘 애니메이션 구현
- css marquee
- 리액트 파라미터 넘기기
- 리액트 라우터
- 파이썬 flask
- 파이썬 정렬
- 카페음료테스트
- nuxt 공식문서 한글
- 파이썬 크롤링
- css 글래스모피즘
- vscode venv
- 리액트 컴포넌트
- 리액트
- next.js 리다이렉트
- 10989 파이썬
- nextjs 스크롤
- getserversideprops redirect
- nuxt 공식문서
- NextJS
- nextjs 파라미터 넘기기
- 글래스모피즘 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |