수색…


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!!!");
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow