[PersonaAI - 비공개 프로젝트b] node.js 프로젝트 생성

2024. 2. 23. 12:26프로젝트_트러블슈팅

급작스럽게 다른 팀 프로젝트에 투입되었다.

 

이 팀은 nest.js 기반으로 작업을 하기 때문에 

팀 효율을 위해 나는 node.js로 작업하기로 했다. ( 난 nest.js를 할줄 모르기에..)

 


 

<상황> 

: js파일 만들고 package.json을 직접 만들어주고 npm start했더니 이에러가 뜬다.

 


<에러>   

npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! errno -4058
npm ERR! enoent Could not read package.json: Error: ENOENT: 
no such file or directory, open 'D:\Workspace\vsCode\FakeNews\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in: C:\Users\PERSONA_AI\AppData\Local\npm-cache\_logs\2024-02-21T05_36_16_008Z-debug-0.log
PS D:\Workspace\vsCode\FakeNews> npm start
npm ERR! Missing script: "start"
npm ERR!
npm ERR! Did you mean one of these?
npm ERR!     npm star # Mark your favorite packages
npm ERR!     npm stars # View packages marked as favorites
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR!   npm run

npm ERR! A complete log of this run can be found in: C:\Users\PERSONA_AI\AppData\Local\npm-cache\_logs\2024-02-21T05_37_35_455Z-debug-0.log

 



<해결> 

1) package.json 자동 생성하는 법 => npm init -y
2) 생성된 package.json의 scripts 섹션에 start 스크립트 추가
=>  "scripts": {
  "start": "node index.js"
      }

 

 

 


+추가 : nodemon 관련

 

< package.json 형태 >

{
  "name": "server",
  "version": "1.0.0",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node hellowAPI.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
 
  }
}

 

생성된 package.json에 중심점이 될 index.js를 지정해준다 ( 내경우엔 server.js가 그 역할 )

 

이렇게 해서 실행했을 경우 server.js를 기준으로 그 파일에 등록된 app이 설정이 구동된다.

 

여기서 꿀팁!

scripts 에서 start가 지금 "node hellowAPI.js"로 되어있는데 이러면 수정사항이 생겼을 때 " 저장 -> 서버 종료 -> npm start "  이 과정을 반복해야함

 

하지만  start를 "nodemon hellowAPI.js" 로 해놓으면 저장하면 자동으로 수정사항이 적용된다.

 

<요약>

package.json에서 script - start 설정을 

1. node 로 하면, =>  수정사항 발생시 저장 - 서버 종료 - 서버 재실행 - 수정사항 적용

2. nodemon 으로 하면, =>  수정사항 발생시 저장 - 수정사항 적용