인프런 커뮤니티 질문&답변
next 로컬에서 빌드 시 질문입니다.
작성
·
652
0
로컬에서 빌드하고 aws에 배포할 때,
node_modules는 gitignore가 되어있는데, npm 모듈을 또 원격에서 설치해야하나요? 보통 집 컴퓨터에서 개발 시 npm i 하면 로컬에는 해당 모듈이 설치되어있는데 리모트에는 package.json에만 기록되어있고 설치는 따로 해야하잖아요...
기존에는 순서가,
로컬에서 git push - 리모트에서 git pull + npm install(안 설치된 모듈) + npm run build - pm2 리스타트 인데,
로컬에서 빌드하게 되면
로컬에서 npm run build - git push (.next) - git pull - npm install - pm2 restart 순이 맞는건가요?
답변 2
0
우선 리모트 서버에 먼저 업데이트된 모듈을을 설치 후 로컬 윈도우 서버에서 빌드 후 리눅스에 업로드 했는데, 502 에러와 동시에 브라우저에서는 importScripts() of new scripts after service worker installation is not allowed. 에러가 떴습니다. pm2 콘솔에는 이 에러가 떴구요.
구글링을 해봐도 원하는 답이 나오지 않아서, next-pwa 공식 문서를 찾아봤는데 next 9+ 에서는 서비스워커 파일이 빌드 시 자동 생성된대서,
웹팩 설정에서 개발 모드에서는 pwa가 동작하지 않게 설정, 서비스워커 파일 삭제. 그리고 리모트 서버에서도 서비스워커 파일을 같이 삭제 후 npx pm2 kill을 하고 재시작하니 정상적으로 동작하네요.
일단 해결은 했지만 올바른 방법으로 한게 맞는지 궁금합니다. 질문 게시판을 찾아봐도 pwa를 적용한 케이스는 없는거같네요ㅠㅠ
0
node_modules는 용량이 1기가가 넘는 경우가 허다합니다. 리모트에서 npm i하는 게 맞습니다. 그리고 윈도에서 설치한 node_modules는 리눅스에서는 안 돌아갑니다.




