十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用JavaScript怎么对模块进行管理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为百色企业提供专业的成都网站设计、成都做网站,百色网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。实现1
(function(global){ var modules = {}; var define = function (id,factory) { if(!modules[id]){ modules[id] = { id : id, factory : factory }; } }; var require = function (id) { var module = modules[id]; if(!module){ return; } if(!module.exports){ module.exports = {}; module.factory.call(module.exports,require,module.exports,module); } return module.exports; } global.define = define; global.require = require; })(this);
使用示例
define('Hello',function(require,exports,module){ function sayHello() { console.log('hello modules'); } module.exports = { sayHello : sayHello } }); var Hello = require('Hello'); Hello.sayHello();
实现2
function Module(main,factory){ var modules = {}; factory(function(id,factory){ modules[id] = { id : id, factory : factory, } }); var require = function (id) { var module = modules[id]; if(!module){ return; } if(!module.exports){ module.exports = {}; module.factory.call(module.exports,require,module.exports,module); } return module.exports; } window.require = require; return require(main); }
使用示例
Module('main',function(define){ define('Hello',function(require,exports,module){ function sayHello () { console.log('hello'); } //有效的写法 module.exports = { sayHello : syaHello; } //或者 exports.sayHello = sayHello; }); //mian,程序入口 define('main',function(require,exports,module){ var Hello = require('Hello'); Hello.sayHello(); }); });
实现3
另外一种风格的模块管理
(function(global) { var exports = {}; //存储模块暴露的接口 var modules = {}; // global.define = function (id,factory) { modules[id] = factory; } global.require = function (id) { if(exports[id])return exports[id]; else return (exports = modules[id]()); } })(this);
使用示例
define('Hello',function(require,exports,module){ function sayHello() { console.log('hello modules'); } //暴露的接口 return { sayHello : sayHello }; }); var Hello = require('Hello'); Hello.sayHello();
实践
有了简易的模块化管理之后,在项目中,我们就可以采取这样的结构
-- proj
-- html -- index.html -- css -- js -- common -- module1.js(通用模块1) -- module2.js(通用模块2) -- page -- index.js(页面逻辑) -- lib -- moduler.js 模块管理库
配合前端构建工具(wepack,grunt,gulp等等),就可以构建一个移动端的页面。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联成都网站设计公司行业资讯频道,感谢您对创新互联成都网站设计公司的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。