Open rogerxu opened 5 years ago
Using JavaScript modules on the web | Web Fundamentals | Google Developers
let foo = 'a';
let bar = 1;
export { foo, bar };
Rename
let foo = 'a';
let bar = 1;
export { foo as f, bar as b };
// file a.js
export function a() {}
export function b() {}
// file b.js
export default function() {}
import {a, b} from './a.js'
import XXX from './b.js'
// a.js
module.exports = {
a: 1
};
// or
exports.a = 1;
// b.js
var module = require('./a.js');
module.a // -> log 1
module.exports
vs exports
var module = {
exports: {} // exports 就是个空对象
};
// 这个是为什么 exports 和 module.exports 用法相似的原因
var exports = module.exports;
var load = function (module) {
// 导出的东西
var a = 1;
module.exports = a;
return module.exports;
};
不能对 exports
直接赋值,不会有任何效果。
require(${path}/xx.js)
,ES6 Modules目前不支持,但是已有提案// AMD
define(['./a', './b'], function(a, b) {
a.do();
b.do();
});
define(function(require, exports, module) {
var a = require('./a');
a.doSomething();
var b = require('./b');
b.doSomething();
});
Module 的语法 - ES6 教程 - 网道
Modules • JavaScript for impatient programmers (ES2020 edition)