본문 바로가기
Research/Node.js

npm_Package.json 파일 해석

by RIEM 2023. 3. 23.
728x90

package.json 파일이다

{
  "scripts": {
    "build": "tsc",
    "start:dev": "tsc-watch --onSuccess \"node dist/app.js\"",
    "prestart": "npm run build",
    "start": "node dist/app.js"
  },
  "devDependencies": {
    "@types/node": "^15.3.0",
    "prettier": "^2.2.1",
    "tsc": "^2.0.3",
    "tsc-watch": "^4.2.9",
    "typescript": "^4.3.4"
  }
}

npm run start:dev를 할 경우 tsc-watch가 수정되는지 감시하고, 이를 감지할 경우 컴파일 하고 dist 폴더 내 app.js를 실행하라는 의미다.

npm run start를 할 경우, 자동으로 prestart가 실행된다. prestart의 build는 tsc이다. tsc는 루트 경로의 tsconfig 파일을 읽어서 옵션에 맞게 컴파일을 해준다. 최종적으로 컴파일한 결과물을 파일을 실행해주는 것이다.

컴파일된 최종 앱 실행파일이 dist/app.js이라고 보면 된다.

 

//* https://www.staging-typescript.org/tsconfig

{
    "compilerOptions": {
      "strict": true,
      "module": "commonjs",
      "declaration": true,
      "removeComments": true,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "allowSyntheticDefaultImports": true,
      "target": "ES5",
      "sourceMap": true,
      "outDir": "./dist",
      "baseUrl": "./src",
      "incremental": true
    },
    "include": ["src/**/*"]
  }

tsconfig는 컴파일을 어떻게 할 것인지에 대한 옵션 compilerOptions과 컴파일할 파일들이 있는 경로 include 정보 두가지가 있다. include를 보면 src하위 모든 폴더와 파일들을 컴파일한다는 것을 볼 수 있다. 그렇게 컴파일한 결과물은 ./dist 디렉터리에 저장된다.

TSconfig 옵션에 대한 정보는 아래 링크에서 확인할 수 있다.
https://www.staging-typescript.org/tsconfig

728x90

댓글