标签:blog http io ar 使用 java sp div on
看了一遍关于《扩展SeaJS模块定义中的module参数的应用示例》讲得很不错!自己就尝试一下!
http://limu.iteye.com/blog/1136712
https://github.com/seajs/seajs/issues/67
为了能够预加载公共部分模块!使用sea.js提供的preload模块功能!
在安装了官方的项目工具spm后,直接 spm install -g seajs-preload
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>sea.js</title>
<script type="text/javascript" src="../../sea-modules/sea.js"></script>
<script type="text/javascript" src="../../sea-modules/seajs-preload.js"></script>
</head>
<body>
<div id="block">1111</div>
</body>
</html>
<script type="text/javascript">
seajs.config({
base : "../../sea-modules/",
paths : {
"mPath" : "../../static/module/",
},
alias : {
"public" : "mPath/public"
},
preload : [
"public"
]
});
seajs.use("mPath/moduleA");
</script>
公共模块部分,模仿了jqery的html方法
define(function(require, exports, module) {
var mp = module.constructor.prototype;
mp.mJq = function() {
var elem;
(function(args){
if (typeof args[0] === ‘string‘) {
elem = document.getElementById(args[0]);
}
})(arguments);
var mJquery = (function(){
return elem;
})();
mJquery.html = function() {
if (typeof elem == ‘object‘ && typeof arguments[0] != ‘undefined‘) {
elem.innerHTML = arguments[0];
} else {
return elem.innerHTML;
}
}
return mJquery;
};
});
在其他模块调用
define(function(require, exports, module) {
var $ = module.mJq;
console.log($("block").html());
$("block").html("halo");
});
seajs通过module.constructor.prototype扩展公共方法
标签:blog http io ar 使用 java sp div on
原文地址:http://my.oschina.net/Jacker/blog/340517