Es 6-exportとexport default

1000 ワード

名前付きエクスポート(export)とデフォルトエクスポート(export default)の2つのエクスポートモジュールがあります.
名前付きエクスポート
1つのモジュールは複数のインタフェースをエクスポートできます.主にエクスポートされた名前を区別します.以下のようにします.
// module1.js
export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}

// main.js
//   module1.js    square diag  
import {square, diag} from './module1'; 
console.log(square(11));
console.log(diag(4, 3)); 

上のコードのmodule 1.jsはsqrt、square、diagの3つのインタフェースを公開し、main.jsにはsquare、diagの2つのインタフェースしか導入されていない.
もちろん、module 1は以下のように導入することもできる.jsのすべてのインタフェース
// main.js
import * as lib from './module1' //  module1,    lib
console.log(lib.square(11));
console.log(lib.diag(4, 3)); 

上のコードにmodule 1モジュールのすべてのインタフェースをインポートし、libと名前を付けます.
デフォルトエクスポート(export default)
1つのモジュールに1つのexport defaultしかありませんhttp://2ality.com/2014/09/es6-modules-final.html