Skip to content
On this page

2020년 04월 14일

수정하기
문서 생성 2021-04-14 20:20:42 최근 수정 2021-04-14 20:21:27
On this page

Note

모듈

  • 프로그램은 작고 단순한 것 → 크고 복잡한 것으로 진화
    • 그 과정 속에서 코드의 재사용성을 높이고 유지보수를 쉽게할 수 있는 다양한 기법들이 사용 됨 → 그 중 하나가 코드를 여러개의 파일로 분리하는 것
  • 모듈 → 특정 기능을 하는 재사용 가능한 독립적인 코드
  • 모듈을 작성할 때는 다른 모듈과의 직접적인 상호관계를 최소화하고 상호간 느슨한 인터페이스를 노출하는 것이 짜임새 있는 프로그램을 작성하는 지름길
  • Node.js에서는 파일 하나 하나를 모듈로 인식

라이브러리

  • 모듈과 비슷한 개념
  • 모듈이 프로그램을 구성하는 부품으로서의 로직을 의미한다면, 라이브러리는 자주 사용되는 로직을 재사용하기 편리하도록 정리한 일련의 코드들의 집합

NPM

  • Node.js에서는 인터넷에 공개된 패키지(모듈)를 설치하고 관리하는 도구로 NPM(Node Package Manager)을 제공
  • 프로그램에서 다른 독립적인 모듈을 사용하는 것을 의존성(Dependency)을 갖는다라고 표현한다.
  • NPM은 의존성을 관리하기 위해 모듈의 ./package.json 파일에 모듈이 의존하고 있는 모든 모듈의 이름과 버전을 기록해둔다.
    • 이후에 모듈을 배포할 때는 타 모듈들이 설치된 ./node_modules 폴더를 제외하고 package.json을 포함한 모듈의 코드를 배포하면 된다.
{
"name": "todayilearned", // 패키지에 대한 설명
"version": "1.0.0",
"main": "server/server.js", // main 파일의 경로
"scripts": {
"lint": "eslint .",
"start": "node .",
"dev": "nodemon .",
"posttest": "npm run lint && nsp check"
},
"dependencies": {
"async": "^2.0.1", // 의존 모듈들
"compression": "^1.0.3",
...

log

LINKS TO THIS PAGE