Node.js -1

darby·2021년 7월 10일
0

Nest.js 및 Node.js

목록 보기
2/3

1.node.js 에서의 Module 이란?

  • 노드로 개발한 애플ㄹ 케이션을 이루는 기본 조각이라 할 수 있다.
  • 즉 , 쉽게말해 하나의 부품이라 정의 할 수 있다. 각각의 부품들은 기능이 있을 텐데 무언가를 제작할 때 이런 부품들이 모여서 완성품을 만드는 것처럼, 관련된 코드를 모아 캡슐화 해놓은 것을 모듈이라 한다.

2.노드의 Moudel화 개념

  • 노드는 확작성을 위해 모듈 구조를 통해 애플리케이션을 구성하도록 하고 있습니다. 모듈은 애플리케이션을 이루는 기본 단위로, 보통 다수의 클래스와 이를 통해 생성한 객체 등으로 구성됩니다. 이렇게 모듈 단위로 구성된다는 것은 객체 지향 컨셉으로 애플리케이션이 구성된다는 것을 의미하고, 이는 노드가 CommonJS의 스펙을 대부분 준수하기 때문입니다.
  • CommonJS ???
    (1) .js 파일 간의 어떻게 의존성을 가지게 할지 정해주는 것입니다.
    (2) 자바스크립트를 범용적으르로 모듈화를 높이기 위해 존재합니다.
  • 기본적으로 노드의 모듈은 자바스크립트 파일 하나와 1:1로 맵핑이 됩니다. 이러한 모듈 형태는 노드 확장 모듈의 개발을 편리하게 해주며, 실제 우리가 애플리케이션을 개발할 때 소스 코드를 깔끔하게 구성할 수 있도록 해줍니다.

3.Moudel의 종류

  • (1) 기본 모듈 과 확장 모듈
    ☑️기본 모듈
    노드를 설치하면 기본으로 설치되는 모듈로서 파일 입출력, 이벤트 관리, HTTP프로토콜 관리 등에 관한 내용으로써 노드의 비동기 입출력 처리를 위한 기본적인 기능들을 제공
    ☑️확장 모듈
    노드의 기능을 확장하기 위한 것으로 좀 더 쉬운 HTTP 서버 생성,기본 파일 입출력에서 제공하지 않는 기능 추가 등 노드를 확장하고 더 편리하게 사용하기 위한 모듈이라고 말할 수 있음. 또한, 하나의 프레임워크 제공 및 mongodb를 사용하기 위한 다른 기술을 손쉽게 끌어와 사용할 수 있게 도와주는 역할을 한다.
  • (2) 일반 모듈 과 네이티브 모듈
    이 둘은 개발 방법에 따라 나눌수 있는 내용이다.
    ☑️일반 모듈
    노드의 모듈 인터페이스를 통해 간단히 자바스크립트로 개발된 모듈
    ☑️네이티브 모듈
    프로그래밍 언어인 C/C++로 노드의 모듈을 개발할 경우
  • (3) 글로벌 모듈 과 로컬 모튤
    ☑️글로벌 모듈
    기본 모듈을 포함하여 어디서든 사용할 수 있도록 설치한 확장 모듈
    ☑️로컬 모튤
    해당 애플리케이션에서만 사용하기 위해 설치한 확장 모듈이나 개발자가 개발한 모듈
    확장 모듈을 글로벌 모듈로 사용하려면 설치시 -g를 이용하면 된다.
  • (4) 복합 모듈
    ☑️내부 모듈이나 데이터파일, 템플릿, 테스트 코드등을 포함하는 모듈을 말한다. 다양한 파일을 포함하기 때문에 모듈을 구성하는 단위가 폴더이며 내부적으로도 폴더를 가질 수 있다. require() 메소드가 이런 폴더 단위의 모듈을 인식하려면 index.js 파일이나 package.json 파일 중 하나가 반드시 있어야 한다.

0개의 댓글