ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • package.json 값 구성
    Search: NodeJs NodeJs 2023. 1. 29. 21:25

     

    생성

    npm init 명령으로 생성 가능. Npm init package.json 생성

     

    name, version

    “name”과 “version”은 반드시 있어야 하는 fields이다.

    외부 Module에서 'name'과 'version'의 값은 필수다.
    (개인 프로젝트를 만들어 사용하는 경우 project의 package.json에는 없어도 되는 편이다)

      "name": "lowdb",
      "version": "5.0.5",

     

     

    'main'은 필수 사항이 아니다.

    lowdb v5.0.5의 경우 main이 없다.

    typescript v4.9.4의 경우 main이 있다.

    "name": "typescript",
    "version": "4.9.4",
    "author": "Microsoft Corp.",
    "homepage": "https://www.typescriptlang.org/",
    ...
    "main": "./lib/typescript.js",

     

    main

    패키지의 진입점(entry point)을 지정한다.

    예를 들어, 사용자가 lib1라는 이름의 패키지를 설치하고, require("lib1")를 통해 모듈을 import하면, "main"으로 지정한 모듈의 exports 객체가 반환된다.
    패키지 root의 상대경로로 지정해야 한다. 지정하지 않은 경우, root 폴더의 index.js로 기본값이 설정된다.

    scripts

     

    command를 alias(별칭)을 통해 지정해 둘 수 있는 기능. value로 일련의 command(명령어)를 정의해 두고 key로 지정한 alias를 이용해 호출 할 수 있다.

     

    web3의 scripts내용

        "scripts": {
            "compile": "tsc -b tsconfig.json",
            "dtslint": "dtslint --localTs ../../node_modules/typescript/lib types",
            "postinstall": "echo \"Web3.js 4.x alpha has been released for early testing and feedback. Checkout doc at https://docs.web3js.org/ \""
        },

     

    next project를 만들면 자동 설정되는 scripts값

      "scripts": {
        "dev": "next dev",
        "build": "next build",
        "start": "next start",
        "lint": "next lint"
      },

    'npm dev'등의 명령이 여기 값으로 연결된다.

     

    dependencies, devDependencies

    해당 패키지, 프로젝트가 어떤 외부 라이브러리에 의존성(dependency)을 가지고 있는지 관리하기 위한 field다.

     

    npm install <package>

    dependencies에 기록



    npm install --save-dev <package>
    --save-dev(또는 축약-D)

    devDependencies 필드에 기록

     테스트를 위한 패키지나 트랜스파일러와 같이 배포시에는 필요없는 패키지들을 여기에 둔다.

     

    description

    패키지에 대한 설명. npm에서 검색되었을 때 리스트에 표시되어 패키지를 찾아내고 이해할 수 있는데 도움을 준다.

     

     

    keywords

    npm에서 검색되었을 때 리스트에 표시되어 사람들이 패키지를 찾아내데 도움을 준다.

     

    author

    배포자 한 사람을 위한 field다.
    다수의 사람은 contributors를 사용

     

    license

    패키지를 사용하는데 어떤 권한과 제한 사항

     

    https://docs.npmjs.com/cli/v8/configuring-npm/package-json

     

    댓글