Latest web development tutorials

Node.js를 모듈 시스템

서로를 호출 할 수 있습니다 Node.js를 파일을 만들려면, Node.js를 간단한 모듈 형 시스템을 제공한다.

모듈은 Node.js를 응용 프로그램, 파일 및 모듈의 필수적인 부분 1-1입니다. 즉, Node.js를 파일 모듈이고,이 파일은 자바 스크립트 코드를 컴파일 JSON 또는 C / C ++ 확장 될 수있다.

모듈을 만들고

Node.js를에서, 모듈은 다음과 같이 우리가하는 'main.js'파일을 만들 때, 매우 간단 만듭니다

var hello = require('./hello');
hello.world();

위의 예제 코드는 (기본 접미사 JS를 Node.js를, ./ 현재 디렉토리) 현재 hello.js 파일 디렉토리를 도입 ( '안녕하세요 ./')가 필요합니다.

Node.js를 수출을 제공하고 수출이 열려 모듈 인터페이스 두 개체, 외부 인터페이스, 즉 수출 목표 수집 모듈에서 획득하는 모듈을 필요로 필요합니다.

다음으로 우리는 다음과 같이 hello.js 파일을 만들 와서 :

exports.world = function() {
  console.log('Hello World');
}

위의 예에서, 오브젝트 액세스 인터페이스 모듈로 ( '안녕하세요 ./')이 필요 통해로드 main.js에서이 모듈, 당신은 직접 수출 객체의 회원 hello.js에 액세스 할 수 있습니다를 세계로 수출을 hello.js 기능.

때때로 우리는 그냥 개체 모듈을 패키징 할 다음과 같이 형식은 다음과 같습니다

module.exports = function() {
  // ...
}

예를 들면 :

//hello.js 
function Hello() { 
	var name; 
	this.setName = function(thyName) { 
		name = thyName; 
	}; 
	this.sayHello = function() { 
		console.log('Hello ' + name); 
	}; 
}; 
module.exports = Hello;

그래서 당신은 직접 개체를 얻을 :

//main.js 
var Hello = require('./hello'); 
hello = new Hello(); 
hello.setName('BYVoid'); 
hello.sayHello(); 

유일한 변화는 안녕하세요 exports.world = 기능을 대체 = 인터페이스 모듈 module.exports의 사용이다 () {}. 외부 모듈을 참조하면, 그 인터페이스 객체 헬로 객체 오히려 본래보다 수출 출력 자체가 될 것이다.


어디 서버 모듈을 넣어

아마도 당신은 우리가 모듈 코드에 사용 된 것으로 나타났습니다. 이 같은 :

var http = require("http");

...

http.createServer(...);

Node.js를은 "HTTP"모듈, 우리는 우리의 코드에서 지역 변수에 값을 반환하도록 요청라는 기능이 함께 제공됩니다.

이것은 HTTP 모듈 개체를 제공하는 모든 public 메소드가 지역 변수로 우리를 제공합니다.

Node.js 및 방법은 다음과 같이 파일 검색 전략이 필요하다 :

필요하지만, 네 개의 클래스 모듈 (기본 모듈 세 모듈 파일) Node.js를이 때문에있어서 매우 간단하지만 매우 복잡한 로딩이 내부 우선 순위가 다른로드. 아래 그림과 같이 :

nodejs-필요

파일 캐시 모듈로드

서로 다른 우선 순위 네이티브 모듈 및 파일 모듈에도 불구하고 있지만, 캐시 모듈에서 기존의로드 모듈 파일보다 우선 적용되지 않습니다.

네이티브 모듈에서로드

우선 파일 캐시 모듈 후 네이티브 모듈 우선. 파일명, 우선 검사를 파싱 한 후 방법이 필요한지 여부를 기본 모듈리스트에서 모듈. 디렉토리에 HTTP / http.js / http.node / http.json 파일이 HTTP 모듈, 예를 들면, 비록 ( "HTTP")는 파일로부터로드되지만 네이티브 모듈에서로드되지 요구한다.

기본 모듈은 또한, 우선적으로 캐쉬로부터 로딩 버퍼 영역을 갖는다. 버퍼가 이전에로드 된 경우, 네이티브 모듈 로딩로드 및 실행될 부른다.

파일에서로드

파일 캐시 모듈에 존재하지 않는, 그리고 기본 모듈 때 Node.js를는 분석법 수신 파라미터를 필요로하고, 이전 섹션에서 파일 시스템에서 실제 파일, 컴파일 로딩 과정 및 포장 정보를로드 할 때 우리는 또한 알고 가치 몇몇 세부 사항을 갖는 파일 모듈을 찾아 상세 과정을 설명 할 곳이 도입되었다.

전송 방법에는 다음과 같은 매개 변수를 사용할 필요합니다

  • HTTP, FS, 경로, 등, 네이티브 모듈.
  • ./mod 또는 ../mod, 상대 경로 파일 모듈.
  • / 모드 Pathtomodule / 파일 모듈의 절대 경로입니다.
  • 모드, 비 네이티브 모듈 파일 모듈.