<aside> ⏳ 2022년 7월 11일
</aside>
코드캠프 정규수업을 들으며 import
를 사용하기위해 또는 yarn add ~
를 터미널에 입력하면 “package.json”파일에 다양한 정보가 입력된다. “package.json”은 무엇인지 공부해보려고한다.
npm(node package manager)
npm Docs에서 package.json에 관해서 적은 내용 중 일부를 인용해왔다.
You can add a package.json file to your package to make it easy for others to manage and install. Packages published to the registry must contain a
package.json
file.
- lists the packages your project depends on
- specifies versions of a package that your project can use using semantic versioning rules
- makes your build reproducible, and therefore easier to share with other developers
→ 결국 package.json은 개발자가 배포한 패키지에 대해, 다른사람들이 해당 코드를 돌리기 위해서 설치를 해야하는 기능들의 버전 등의 정보를 담아 설치하기 쉽게 하기 위한 문서파일이다.
package.json은?
npm을 사용하기 위한 자세한 내용(= 명세)
npm의 배포를 위한 자세한 내용
프로젝트 의존성 관리를 위해 자세한 내용
→ 개발을 하는 나는 이부분이 가장 중요했었다!
package.json의 구성
yarn init
을 통해서 파일을 생성할 수 있다.npm Docs를 따르면 “name
”과 “version
”은 반드시 있어야하는 field이다.
descripton
: 문자열로 기술한 패키지에 대한 설명이다.
main
: 패키지의 진입점이 되는 모듈의 ID이다.
scripts
: 패키지의 생명주기에서 자주 사용할 명령어를 별칭을 통해 지정해 둘수 있는 사전이다.
ex) "dev": "nodemon index.js”
를 입력 후 yarn dev
를 터미널에 치게되면 코드가 변경될 때마다 자동으로 서버에 적용시켜준다.
license
: 배포한 패키지에 대해 패키지 사용자가 사용시 어떤 권한과 제한사항이 있는지 알기 위해서 명시하는 정보.
type
:다른 javascript파일을 사용하기위해서 해당 파일을 명시해야하는데 module
로 설정하여 import
를 사용할지, commonjs
로 설정하여 require
을 사용할지 결정할 수 있다.
dependencies
: 사용하고자 한 패키지의 버전을 포함하고 있다.
devDependencies
: 개발시에만 필요한 의존 패키지들로 예를 들어, 테스트를 위한 패키지 또는 트랜스파일러 등의 배포시에는 필요없는 패키지의 정보를 포함하고 있다.
package.json의 dependencies
를 사용하는 방법
: yarn install
을 통해서 package.json에 적혀있는 정보를 토대로 해당 터미널이 존재하는 위치에서 “node_modules”파일을 설치할 수 있다.