Node.js
node.js에서 모듈 내보내기 및 가져 오기
수색…
node.js에 간단한 모듈 사용하기
node.js 모듈이란 무엇입니까 ( 기사 링크 ) :
모듈은 관련 코드를 단일 코드 단위로 캡슐화합니다. 모듈을 생성 할 때 이것은 관련된 모든 함수를 하나의 파일로 옮기는 것으로 해석 될 수 있습니다.
이제 예제를 보겠습니다. 모든 파일이 같은 디렉토리에 있다고 상상해보십시오.
파일 : printer.js
"use strict";
exports.printHelloWorld = function (){
console.log("Hello World!!!");
}
모듈을 사용하는 또 다른 방법 :
파일 animals.js
"use strict";
module.exports = {
lion: function() {
console.log("ROAARR!!!");
}
};
파일 : app.js
디렉토리로 이동하여 다음을 입력하여이 파일을 실행하십시오. node app.js
"use strict";
//require('./path/to/module.js') node which module to load
var printer = require('./printer');
var animals = require('./animals');
printer.printHelloWorld(); //prints "Hello World!!!"
animals.lion(); //prints "ROAARR!!!"
ES6에서 가져 오기 사용
Node.js는 V8의 최신 버전에 맞춰 제작되었습니다. 이 엔진의 최신 버전을 최신 상태로 유지함으로써 JavaScript ECMA-262 사양의 새로운 기능이 Node.js 개발자에게 적시에 제공 될뿐만 아니라 지속적인 성능 및 안정성 향상을 보장합니다.
모든 ECMAScript 2015 (ES6) 기능은 운송, 준비 및 진행 기능을 위해 세 그룹으로 나뉩니다.
V8이 안정적이라고 생각하는 모든 배송 기능은 기본적으로 Node.js에서 켜져 있으며 어떤 종류의 런타임 플래그도 필요하지 않습니다. V8 팀에 의해 안정적이지 않은 거의 완성 된 기능인 단계별 기능에는 런타임 플래그가 필요합니다. --harmony. 진행 중 기능은 각각의 하모니 플래그로 개별적으로 활성화 할 수 있지만 테스트 목적이 아닌 한이 기능은 사용하지 않는 것이 좋습니다. 참고 :이 플래그는 V8에 의해 노출되며 사용 중단 알림없이 변경 될 수 있습니다.
현재 ES6에서는 기본적으로 import 문을 지원합니다. 여기를 참조하십시오.
그래서 fun.js
라는 파일이 fun.js
...
export default function say(what){
console.log(what);
}
export function sayLoud(whoot) {
say(whoot.toUpperCase());
}
... 그리고 app.js
라는 이름의 파일이 app.js
, 이전에 정의 된 함수를 사용하려면 여기에 세 가지 방법으로 가져올 수 있습니다.
기본값 가져 오기
import say from './fun';
say('Hello Stack Overflow!!'); // Output: Hello Stack Overflow!!
소스 파일에서 기본 내보내기로 표시되어 있기 때문에 say()
함수를 가져옵니다 say()
기본값 내보내기 export default …
).
명명 된 가져 오기
import { sayLoud } from './fun';
sayLoud('JS modules are awesome.'); // Output: JS MODULES ARE AWESOME.
명명 된 가져 오기를 사용하면 실제로 필요한 모듈의 부분을 정확하게 가져올 수 있습니다. 우리는 명시 적으로 이름을 지정하여이를 수행합니다. 우리의 경우 import sayLoud
내에서 sayLoud
를 중괄호 안에 명명합니다.
번들로 가져 오기
import * as i from './fun';
i.say('What?'); // Output: What?
i.sayLoud('Whoot!'); // Output: WHOOT!
우리가 그것을 원한다면, 이것이 갈 길입니다. 구문을 사용하여 * as i
우리가 가지고있는 import
문이 객체를 제공 i
우리의 모든 수출 보유하고 fun
상응 명명 된 속성으로 모듈을.
경로
./
을 사용하여 가져 오는 파일과 같은 디렉토리에 가져올 파일이 있더라도 상대 경로로 명시 적으로 가져 오기 경로를 표시해야합니다. 다음과 같이 접두사가없는 경로에서 가져 오기
import express from 'express';
로컬 및 글로벌 node_modules
폴더에서 node_modules
되며 일치하는 모듈이없는 경우 오류가 발생합니다.
ES6 구문으로 내보내기
이것은 다른 예 와 동일하지만 대신 ES6을 사용합니다.
export function printHelloWorld() {
console.log("Hello World!!!");
}