seaJs是CMD前端模块化规范的实现,seaJs使用define和use关键字实现模块化,用法如下
main.html
Webstorm
main.js
//声明模块
seajs.config({
alias: {
"jquery": "jquery-sea.js",
"module": "module.js"
}
});
//引用模块
seajs.use(["module", "jquery"], function (module, $) {
alert(module.message);
module.showMessage();
});
module.js
//定义模块
define(function (require, exports, module) {
//依赖模块
let $ = require("jquery");
//导出内容
module.exports = {
showMessage: function () {
alert($);
}
};
//exports变量是module.exports的引用
//如果module.exports不被重新赋值,他们就是同一个对象
//如果module.exports被重新赋值,则断开关联
//最终作为模块对象返回的是module.exports
module.exports.message = "hello";
});
我们也可以通过seajs.use()来加载执行一个js文件
seajs.use("test.js");