TIL(Today I Learned)

1월 21일(토)

공부한 내용을 제 언어로 빠르게 정리한 내용이라서 잘못된 내용이 있을 수 있습니다.

  • npm init
    • 프로젝트를 새로 생성하는 명령어
    • 프로젝트명, 작성자 등을 입력하면 프로젝트 생성이 완료됨
    • 프로젝트 관련 정보는 package.json 에 저장
  • package.json
    {
      "name": "mongodb",
      "version": "1.0.0",
      "description": "mongodb tutorial",
      "main": "server.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node server.js", // npm start 명령시 실행할 자바스크립트 파일
        "dev": "nodemon server.js" // npm run dev 명령시 실행할 자바스크립트 파일
      },
      "author": "",
      "license": "ISC",
      "dependencies": {
        "express": "^4.18.2"
      },
      "devDependencies": {
        // 개발버전에만 포함되는 의존성
        "nodemon": "^2.0.20"
      }
    }
    
  • express
    • 간결하게 REST API를 만들기 위한 node 패키지
  • nodemon
    • 코드의 변경사항이 생기면 바로 서버에 반영할 수 있도록 서버를 자동으로 재부팅하게 해주는 패키지
    • 보통 개발버전에만 포함시켜서 사용
    • npm -i -D nodemon
      • -D는 개발용에만 설치하겠다는 옵션
  • 서버 프로세스가 남아있어서 같은 포트로 실행이 안될 경우,
    • lsof -i TCP:{포트번호} -> 터미널에 이렇게 입력하면 해당 포트번호에 해당하는 프로세스가 나열됨
    • 나열된 프로세스 중 종료할 서버 프로세스의 PID를 찾음
    • kill -9 {PID} -> 이 명령어로 해당 서버 프로세스를 종료
    • 그리고 서버 재실행하면 해당 포트번호로 서버가 실행된다.

참고