标签: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