heroku로 배포할때 package.json

|

heroku로 배포할때 package.json

이 페이지는 개인적인 메모를 위한 용도입니다. 불친절한 내용일 수 있습니다.감사합니다.

package.json

 "engine":{
    "node":"10.16.0",
    "npm":"6.14.8"
  },
  "scripts": {
    "start": "node server/server.js",
    "backend": "nodemon server/server.js",
    "frontend": "npm run start --prefix client",
    "dev": "concurrently \"npm run backend\" \"npm run start --prefix client\"",
    "heroku-postbuild":"NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
  },
  • 먼저 engine 부분을 작성해줘야하고,
  • scripts 부분에서 heroku-postbuild를 작성해 주어야한다.

heroku-postbuild 부분 파헤쳐보기

"heroku-postbuild":"NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"

NPM_CONFIG_PRODUCTION=false ?

20년 10월 11일 현재: 질문을 올린 상태 잘 처리가안됨

  • package.json에 devDependencies 부분이있는데,false를 설정해서 이거를 무시하지 않게끔 해주는 코드이다.
  • default 값은 true이다.

npm install –prefix client && npm run build –prefix client ?

  • 수동으로 하면 client 폴더에서, npm install-> build 순서로 진행해야 heroku가 이를 인식하는데 이 과정을 코드 한줄로 해결한 것

최종적으로..

npm run heroku-postbuild 이 명령어가 잘 안듣는다.(질문 올린 상태)
그래서 client 폴더에서 npm run build 해준후 다시 루트 디렉토리로 가서, git add . git commit -m “” , git push heroku master로 heroku에 빌드해준다.