nodejs에서 모듈은 크게 핵심 모듈과 파일 모듈로 나눌 수 있습니다.
핵심 모듈은 바이너리 코드로 컴파일되며 (require('net'))와 같이 참조할 때 require 표시기만 필요합니다.
파일 모듈은 js 파일, json 파일 또는 .node 파일을 의미합니다. 파일 모듈을 참조할 때 파일 경로를 추가합니다. /.../.../xxx.js는 절대 경로를 나타내고, ./xxx.js는 상대 경로(동일 폴더에 있는 xxx.js)를 나타냅니다. 상위 디렉터리를 나타냅니다. /.../, ../ 또는 ./가 모두 추가되지 않으면 모듈은 핵심 모듈이거나 node_modules 폴더에서 로드됩니다.
모듈을 로드할 때 ./ ../ /.../를 모두 지정하지 않은 경우 모듈을 로드하기 위한 검색 경로입니다. '/home/ry/projects/foo.js' 파일이 require('bar.js')를 호출하면 노드는 다음 위치에서 검색합니다:
/home/ry/projects/node_modules/bar.js
/home/ry/node_modules/bar.js
/home/node_modules/bar.js
/node_modules/bar.js
폴더를 모듈로:
먼저 폴더의 루트에 생성합니다. 기본 모듈을 식별하는 package.json 파일입니다. package.json의 콘텐츠는 다음과 같습니다.
{ " name" : "some-library", "main" : "./lib/some-library.js" }
./some-library 폴더 아래에 있는 경우 , require ('./some-library')는 ./some-library/lib/some-library.js를 로드하려고 시도합니다. 이 디렉터리에 package.json 파일이 없으면 노드는 index.js를 로드하려고 시도합니다. 또는 이 디렉터리의 색인입니다. 예를 들어 위에 package.json 파일이 없으면 require('./some-library')일 때
는 다음 파일 을 로드하려고 시도합니다:
./some-library/index.js
./some-library/index .노드