파일 : calc.js
// 계산 기능을 하는 파일
const add = (a, b) => a + b;
const sub = (a, b) => a - b;
module.exports = {
moduleName: 'calc module',
add: add,
sub: sub,
};
module
: 어떤 기능을 담당하는 분리된 파일module.exports
를 사용해서 객체 단위로 모듈을 내보낼 수 있음파일 : index.js
const calc = require('./calc');
console.log(calc);
require
: 경로를 지정해서 모듈을 볼러옴. Node.js의 내장 함수. terminal에
node index.js
입력
실행 결과{ moduleName: 'calc module', add: [Function: add], sub: [Function: sub] }
module.exports
와require
는 Node.js의 기능!
- commonJS
Node.js에서 기본적으로 제공되는 시스템
모듈을 내보내고 다른 파일에서 받아서 사용하는 모듈 시스템
✍ npm으로 node.js package 만들고 외부 모듈을 실행해보자
📌 package 초기 설정
터미널에 npm init
입력
설정 후 생성된 package.json
: 프로젝트의 정보를 json으로 기록한 환경설정 파일
파일: package.json
{ "name": "package-example1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", }, "author": "", "license": "ISC", "dependencies": { "randomcolor": "^0.6.2" } }
main
: 패키지를 실행할 때 제일 먼저 실행할 파일scripts
: 자주 사용하는 명령을 간단하게 실행시킬 수 있는 명령어들
terminal에npm 키워드
를 입력하면 package.json 내의 script에서 해당 명령어에 해당하는 문자열이 terminal에 입력됨 -> 명령 실행
✍ npmjs.com에서 원하는 모듈 다운받아 보기
terminal에 npm i randomcolor
입력
*package.json이 있는 모듈에서 설치해야 함
📌 package.json에 "dependencies"
가 추가되며 어떤 package를 설치했는지, 해당 버전의 범위를 기록함
"dependencies": {
"randomcolor": "^0.6.2"
}
📌 node_modules
폴더에 실제 package의 코드, 파일들이 들어옴
📌 package-lock.json
에 나의 package에 설치된 외부 package들의 실제 버전이 기록되어있음
commonJS로 require를 이용해서 모듈을 가져올 때
const calc = require('./calc');
경로 없이 package 이름을 적어주면 node_modules에 있는 모듈을 가져옴
const randomColor = require('randomcolor');