Node.js
💡자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경을 주로 서버 사이드 어플리케이션 개발에 사용되는 소프트웨어 플랫폼
모듈(module)이란?
💡프로그래밍에서 코드의 재사용을 위한 단위
- 코드 조각들을 패키지로 묶어 다른 코드에서 사용할 수 있는 독립적인 단위
- 모듈은 특정 기능을 수행하거나 객체를 정의
npm
node.js에서 사용할 수 있는 모듈들을 패키지화하여 모아둔 저장소 역할 겸 설치 및 관리를 위한 CLI를 제공
#지역 설치
$npm install <package>
#전역 설치
$npm install -g <package>
package.json과 의존성 관리
npm은 package.json을 통해 프로젝트 정보와 패키지 의존성을 관리
package.json에서 가장 중요한 항목은 name과 version
모듈 내보내기
exports
모듈 안에 선언한 모든 것들은 기본적으로 해당 모듈 내부에서만 참조 가능
- 이를 외부에 공개하여 다른 모듈에서 사용할 수 있도록 해주는 것이 export 객체
- 전역함수 require()로 추출함
module.exports
exports객체는 프로퍼티.메소드를 여러개 정의 할 수 있는 반면
module.exports에는 하나의 값(원시 타입,함수,객체)을 하당 가능합니다
require()로 할당 받은 변수는 module.exports에 할당한 값 자체
구분 |
모듈 정의 방식 |
require함수의 호출 결과 |
exports |
exports객체에는 값을 할당할 수 없고 공개할 대상을 exports 객체에 프로퍼티 또는 메소드로 추가 |
exports객체에 추가한 프로퍼티와 메소드가 담긴 객체가 전달 |
module.exports |
module.exports 객체에 하나의 값 (원시 타입,함수,객체)만을 할당 |
module.exports객체에 할당한 값이 전 |
모듈 불러오기
- const 모듈명 = require('파일경로')
- import {모듈의 함수명,..} from '파일 경로'
import 표현식
💡모듈을 읽고 이 모듈이 내보내는 것들을 모두 포함하는 객체를 담은 이행된 Promise 반환