1.模块化有助于生产效率,方便以后维护的
2.非模块化带来的问题在于命名冲突和文件依赖,不能设置似有成员
3.seajs(懒加载)
define(function (require, exports, module) {});
define(function (require, exports, module) {
module.exports={
add:function(a,b){
return parseInt(a) + parseInt(b)
},
mul:function(a,b){
return parseInt(a) - parseInt(b)
}
}
});
<script src="scripts/sea-debug.js"></script>
<script>
seajs.use("seajs.js", function (obj) {
console.log(obj.add(5,6));
console.log(obj.mul(5,6));
});
</script>
require引入另一个模块(基于seajs.js的位置)
exports输出单个
module.exports输出时对象
HTML页面中的config作用是为了简化调用模块
seajs.config({
//设置路径
base: "modules/demo4",
//设置别名
alias: {
c: "calc",
p: "power"
}
});
function loadJS(path, callback) {
var head = document.getElementsByTagName("head")[0];
var node = document.createElement("script");
node.src = path;
head.appendChild(node);
//浏览器兼容处理
var supportOnload = "onload" in node;
if(supportOnload) {
node.onload = function () {
callback();
}
}else{
node.onreadystatechange = function () {
if(node.readyState == "loaded" || node.readyState == "complete") {
callback();
}
}
}
}
//调用
loadJS("js/test.js", function () {
test();
})
原文:http://www.cnblogs.com/yychz/p/6024538.html