ES6 模块

Version >= 6

在 ECMAScript 6 中,当使用模块语法(导入/导出)时,每个文件都成为具有私有名称空间的自己的模块。顶级函数和变量不会污染全局命名空间。要公开要导入的其他模块的函数,类和变量,可以使用 export 关键字。

注意: 虽然这是创建 JavaScript 模块的官方方法,但现在任何主流浏览器都不支持它。但是,许多转换器都支持 ES6 模块。

export function greet(name) {
    console.log("Hello %s!", name);
}

var myMethod = function(param) {
    return "Here's what you said: " + param;
};

export {myMethod}

export class MyClass {
    test() {}
}

使用模块

导入模块就像指定路径一样简单:

import greet from "mymodule.js";

greet("Bob");

这只从 mymodule.js 文件中导入 myMethod 方法。

也可以从模块导入所有方法:

import * as myModule from "mymodule.js";

myModule.greet("Alice");

你还可以使用新名称导入方法:

import { greet as A, myMethod as B } from "mymodule.js";

有关 ES6 模块的更多信息,请参阅模块主题。