大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章给大家分享的是有关如何正确的使用seajs和requirejs模块,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
创新互联建站于2013年成立,先为秀峰等服务建站,秀峰等地企业,进行企业商务咨询服务。为秀峰企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
模块化的起因是传统的直接引入js方法存在问题:
必须通过全局变量共享模块,有可能会出现命名冲突的问题;
依赖的文件必须手动地使用标签引入到页面中。
下面是seajs和requirejs的简单案例。
seajs 我用的seajs版本是2.2.3
html部分
极客学院首页
main.js文件
define(function(require,exports,module){ //引入两个js文件 require("test0"); require("test1"); })
test0.js
define(function(require,exports,module){ var $$=require("common").$$; var testbtn0=$$("#testbtn0"); testbtn0.addEventListener("click",function(e){ alert(e.target.innerText); }); })
test1.js
define(function(require, exports, module) { var $$ = require("common").$$; var testbtn1 = $$("#testbtn1"); testbtn1.addEventListener("click", function(e) { alert(e.target.innerText); }); })
coomm.js
define(function(rerquire,exports,module){ /*//第一种导出方案 exports.$$=function(tag){ return document.querySelector(tag); }*/ //第二种导出方案 module.exports={ $$:function(tag){ return document.querySelector(tag); }, test:"测试数据" } //第三种导出方案 /* return { $$:function(tag){ return document.querySelector(tag); }, test:"测试数据" }*/ })
以上是为seajs的,而requirejs的直接就是该一下html文件就可以了,真是哭笑不得啊。才发现二者是通过的。
极客学院首页
关于导出接口有三种,分别是exports,用来导出变量;然后是module.exports用于导出对象;最后是return直接返回。
最后对seajs和requirejs的不通点做个总结,选择seajs作者github:
定位有差异。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器。Sea.js 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 环境中。
遵循的规范不同。RequireJS 遵循 AMD(异步模块定义)规范,Sea.js 遵循 CMD (通用模块定义)规范。规范的不同,导致了两者 API 不同。Sea.js 更贴近 CommonJS Modules/1.1 和 Node Modules 规范。
推广理念有差异。RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳。Sea.js 不强推,采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。
对开发调试的支持有差异。Sea.js 非常关注代码的开发调试,有 nocache、debug 等用于调试的插件。RequireJS 无这方面的明显支持。
插件机制不同。RequireJS 采取的是在源码中预留接口的形式,插件类型比较单一。Sea.js 采取的是通用事件机制,插件类型更丰富。
以上就是如何正确的使用seajs和requirejs模块,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。