Node.js

2021. 1. 28. 21:30·BootCamp_Codestates/TILookCloser

Node.js

런타임이란 프로그래밍 언어가 돌아가는 환경, 그리고 node.js는 JavaScript 런타임입니다.

NVM

Node Version Manager입니다. NVM을 통해 간단한 명령어로 node를 설치하고, 다양한 node version을 손쉽게 옮겨 다닐 수 있습니다. NVM역시 하나의 프로그램이므로 설치해야 합니다.

NPM

NPM는 Node Package Manager로 일종의 앱스토이다. 필요한 모듈을 다운로드할 수 있는, 모듈들이 모여있는 모듈 스토어이다. 자바스크립트 패키지 매니저이고 NodeJS에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할을 하며 설치/관리를 수행할 수 있는 CLI를 제공한다.

 

node 모듈을 사용하는 프로젝트에서 npm이라는 키워드는 하나의 명령어처럼 사용되기도 한다. npm start처럼, 프로젝트를 실행시킬 때 npm 키워드를 사용하기도 한다.

package.json

package.json에는 이 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트하는 방법 등이 명시되어 있다. 즉, 사용자가 package.json에서 필요하다고 하는 모듈을 npm을 이용해 다운받으면 된다.

이 프로그램을 실행시키기 위해 필요한 실제 모듈은 node_modules이라는 폴더에 다 들어가 있는데, package.json에는 어떤 모듈인지만 적혀 있다.

 

구성

 

1. dependencies

이 프로젝트가 돌아가기위해 반드시 필요한 모듈들이 무엇인지가 적혀 있습니다. 코드가 작동하기 위해 필해요한 모듈들.

"dependencies": { "react": "^16.8.6", }

 

2. devDependencies

이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 적혀 있습니다. 예를 들면 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시합니다.

"devDependencies": { "jest": "^2.3.0", "eslint" : "^2.0.0" }

 

3. scripts

npm 으로 실행시킬 수 있는 명령어를 정의합니다. 명령어를 입력하면 어떤 동작을 해야하는지가 적혀 있습니다. 예를들면 npm test 명령어를 입력하면 "test.js 파일을 node 에서 실행시켜라!" 하는 내용들이 들어있습니다. 만약 npm test와 같은 명령어를 실행시켰는데 "정의되지 않은 명령어" 라는 오류 메시지가 나오면, package.json 파일 scripts 에 해당 명령어가 정의되어 있는지를 확인해 보시면 됩니다.

"scripts": { "start": "node app.js", "test": "node test.js", }

예) package.json

{
  "name": "shortly-bare",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "test": "mocha __test__/**.test.js --sort --exit",
    "report": "mocha __test__/**.test.js --sort --exit --reporter @mochajs/json-file-reporter",
    "submit": "codestates-submission"
  },
  "dependencies": {
    "debug": "~2.6.9",
    "dotenv": "^8.2.0",
    "express": "~4.16.1",
    "har-validator": "^5.1.5",
    "morgan": "~1.9.1",
    "mysql2": "^2.1.0",
    "request": "^2.88.2",
    "sequelize": "^6.4.0"
  },
  "devDependencies": {
    "chai": "^4.2.0",
    "chai-http": "^4.3.0",
    "mocha": "^8.0.1",
    "sequelize-cli": "^6.2.0",
    "sinon": "^9.0.2"
  }
}

 

'BootCamp_Codestates > TILookCloser' 카테고리의 다른 글

How to set up Multer  (0) 2021.03.04
Git 명령어  (0) 2021.03.01
dotenv 환경변수 사용하기  (0) 2021.01.28
HA. 구현 프로세스 정리(초기 설정)  (0) 2021.01.25
'BootCamp_Codestates/TILookCloser' 카테고리의 다른 글
  • How to set up Multer
  • Git 명령어
  • dotenv 환경변수 사용하기
  • HA. 구현 프로세스 정리(초기 설정)
JTB
JTB
웹/앱 개발 정보를 공유하고 있습니다.
  • JTB
    JTechBlog
    JTB
  • 전체
    오늘
    어제
    • All About Programming;) N
      • Computer Science
        • Terminology and Concepts
        • Network
        • Operating System
        • Database
        • Data Structure
      • Frontend
        • Javascript Essentials
        • Perfomance Optimization
        • JS Patterns
        • Next.js
        • Flutter
      • Backend
        • Node.js
      • DevOps
        • Docker & Kubernetes
      • Coding Test N
        • LeetCode N
        • Programmers
      • Tech Books & Lectures
        • Javascript_Modern JS Deep d..
        • Network_IT 엔지니어를 위한 네트워크 입문
      • Projects
        • PolyLingo_2025
        • Build Your Body_2024
        • JStargram_2021
        • Covid19 Tracker_2021
        • JPortfolio_2021
      • BootCamp_Codestates
        • TIL
        • TILookCloser
        • Pre Tech Blog
        • IM Tech Blog
        • Daily Issues and DeBugging
        • First Project
        • Final Project
        • Sprint Review
        • Good to Know
        • Socrative Review
        • HTML & CSS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 글쓰기
    • 관리
  • 공지사항

  • 인기 글

  • 태그

    indie hacker
    How memory manage data
    testing
    딥다이브
    이벤트
    프론트엔드 성능 최적화 가이드
    leetcode
    VoiceJournal
    자바스크립트
    Data Structure
    mobile app
    자바스크립트 딥다이브
    js pattern
    Operating System
    커리어
    Network
    CPU scheduling algorithm
    structure of os
    polylingo
    TCP/IP
    스코프
    database
    Threads and Multithreading
    Shared resources
    need a database
    Binary Tree BFS
    모던 자바스크립트 Deep Dive
    DOM
    Time complexity and Space complexity
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
JTB
Node.js
상단으로

티스토리툴바