我的目标是将 js 整理成多个文件 延迟加载,但有一个命名空间。
例如:
SO.global(global.js) SO.global.registration(registration.js)< - load
var SO = function(){
var CONSTANT = 'Z';
function createX(){
alert("create X");
}
function getY(){
alert("get Y");
}
return{
create:createX,
get:getY
}
}();
//SO.createX();
//SO.getY();
VS
var SO = (function() {
var CONSTANT = 'Z';
function createX(){
alert("create X");
}
function getY(){
alert("get Y");
}
return {
create:createX,
get:getY
}
} ());
答案 0 :(得分:5)
您考虑过Require.JS了吗?它试图提供以下解决方案:
Require.JS实现Common.JS定义的Module/Asynchronous Definition规范
答案 1 :(得分:3)
这是一个很好的阅读:http://snook.ca/archives/javascript/no-love-for-module-pattern,另一个:http://lamb.cc/blog/category/javascript/
YUI使用它,就像我一样,我没有发现任何受其限制的情况,并且很好地与自定义模块的YUI依赖加载器集成。
(对不起,我知道这不是一个完整的答案,但是有一些未经修改的信息给你)