ES6的module导出引入总结。
基本module语法
ES6提供了export
和import
语法,给予了JS模块化代码组织形式的能力。export
语句用于从模块中导出函数、对象或原始值,以便其他程序可以通过import
语句使用它们。
export
我们假设我们拥有一个fileA.js
的文件,它向外export
了这些:
// fileA.js
export const DEMO_VALUE = '123';
export function demoFunction(param) {
console.log(param); }
export default 123
export
有两种导出形式。一种是使用export
语句接上const/let/var/function
等声明变量函数的语句向模块外导出值。一个文件内部可以存在多个export
语句。另一种是使用export default
直接加上值(不接声明语句)的方式向模块外导出值。一个文件内部只能存在一个export default
语句。
我们用babel
来看一下实际上export
实际转化成了什么。
// export const DEMO_VALUE = '123';
// export default 123
// babel transform
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DEMO_VALUE = void 0;
var DEMO_VALUE = '123';
exports.DEMO_VALUE = DEMO_VALUE;
var _default = 123;
exports.