스타트업 트랙 - Node js (4)

이동주·2021년 10월 26일

NPM으로 간단한 프로젝트 만들기

  • npm init -y
    : json 파일을 만들어 줌

description - 프로젝트에 관한 간단한 설명
main - 직접적으로 npm의 생태계에 업로드 할 수 있는 패키지처럼 만들어서 npm 생태계에 업로드 할 때 필요
author - 소유주

  • npm install parcel-bundler -D
    : node modules 파일 및 package-lock.json이 만들어짐

=> npm install 명령을 통해서 어떠한패키지를 설치하게 되면 node modules라는 폴더에 설피한 패키지가 들어감
=> 이러한 패키지를 모듈이라고도 말함

왜 설치하지 않은 패키지도 설치 되어져 있는가?

parcel-bundler라는 패키지를 설치한 후 프로젝트에서 활용 될 때, 필요한 또다른 패키지들이 같이 설치가 된 것

parcel-bundler에 필요한 패키지 확인은 parcel-bundler 폴더 안에 있는 dependencies에서 가능

우리가 하나의 패키지를 만들 때 이미 만들어져 있는 다른 패키지들을 활용을 할 수도 있고 이러한 개념들로 연결되어져 있음

패키지 설치 내역

우리가 특정한 패키지를 설치하면 패키지의 내역이 json 파일에 남게 됨
-> 우리가 어떤 패키지를 사용하고 있고, 패키지의 버전은 무엇인지 알 수 있음

- 장점
: 한번 설치한 패키지는 내역으로 남게 되어 실제 node modules 폴더(패키지)를 지우더라도 다시 npm install(i - 약어)를 통해서 우리 프로젝트에 해당하는 패키지를 설치할 수 있음

package-lock.json 파일?

어떤 특정한 패키지를 설치하게 되면이 파일이 생성됨
설치한 모듈들이 내부적으로 사용되는 또 다른 모듈 or 패키지들을 관리하기 위함

-> 우리는 내부에서 어떤 걸 사용하는지 모르니까 그 정보를 알려주는 파일

package.json은 우리가 직접적으로 관리하는 파일
package-lock.json은 자동으로 관리되는 파일

node_modules 폴더는 언제든지 지워도 되지만 다른 두 파일은 절대 지워서는 안 됨

npm 설치시 -D의 여부의 차이


- -D가 있는 경우
: devDependencies에 설치

: 개발용 의존성 패키지 설치(-D: --save-dev의 단축형태)
=> 내가 설ㅊ한 특정한 패키지들이 개발할 때만 필요하고 그것이 나중에 웹브라우저에서 동작할 때는 필요하지 않음
=> 개발할 때만 필요하느냐?

- -D가 없는 경우
: dependencies에 설치

: 일반적 의존성 패키지 설치
=> 설치한 패키지가 실제로 웹브라우저에서 동작할수도 있다는 것을 전제
=> 실제로 웹사이트에서 동작하는 용도이냐?

profile
안녕하세요 이동주입니다

0개의 댓글