- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SeaJs
SeaJs 模块加载器、前段的CommonJs 基础知识 快速入门 常用语法 高级扩展 资源 基础知识 CommonJs 官方JavaScript标准定义的API是为了构建基于浏览器的应用程序,但是对于普通应用程序使用的API并没有任何规范。这个背景下引入了CommonJs来规范化普通程序的开发,最终目标是实现类似Java的标准库。 SeaJs SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制,解决JavaScript中代码对象依赖,同时提供了便利的加载机制。 快速入门(1) 下载SeaJs 引入SeaJs script?src=“js/sea.js?id = “sea” type=text/javascript?charset=utf-8?data-main=js/init/script?? 红色部分表明初始加载模块为js/init.js,可选。 蓝色部分为seajs加入ID便于其快速定位自身,提高性能,官方推荐加上。 快速入门(2) 定义模块(example.js) define(function(require, exports, module) { exports.sayHello = function() { alert(‘Hello world‘); }; }); 使用模块 seajs.use(./example, function(example) { ????????? ?example.sayHello(); ???? }); 常用语法(1) 定义模块 define(id?, deps?, factory); 官方强烈推荐不要设定?id?和?dependencies?参数,由加载器自动处理。 Factory参数为模块的工厂函数。模块初始化时,会调用且仅调用一次该工厂函数。factory 函数在调用时,会始终传入三个参数:require、exports 和 module, 这三个参数在所有模块代码里可用。 define(function(require, exports, module) { }); 常用语法(2) require 访问其他模块提供的 API,即获得依赖。 define(function(require) { var a = require(./a); a.doSomething(); }); 它接受 模块标识 作为唯一参数。 常用语法(3) exports 向外提供模块的 API,即定义对外的接口。 define(function(require, exports) { exports.foo = bar; exports.doSomething = function() {}; }); 除了给?exports?对象增加成员,还可以使用?return?向外提供 API. define(function(require, exports) { return { doSomething: function() {}; }; }); return可以直接返回函数而非对象。 常用语法(4) module 存储模块的元信息,包含如下信息: module.id: 当前模块的唯一标识 module. Dependencies: 依赖列表 module.exports: 可以对export参数进行自定义(继承..) module.constructor: 为所有的module参数对象添加一些公用 属性或方法。 常用语法(5) 使用模块 seajs.use(‘moduleId, function(moduleHandler) { moduleHandler.doSomething(); }); seajs.use函数接受2个参数,其中第一个参数为模块的标识,第二个参数为回调函数。回调函数可选,其参数为模块的引用句柄。 高级扩展(1) 使用未模块化的第三方库(e.g jQuery) define(function(){ /* jQuery源代码 */ return $.noConflict(); }); var $ = require(“jquery”); $(“#id”).click(…….); 高级扩展(2) 模块载入 可以使用require.async方法进行异步加载,参数和功能都与require方法一致。
您可能关注的文档
- Java读写Excel之POI超入门.docx
- BootStrap 2.pptx
- JSP实验报告3.4.5.doc
- java生成excel模板导出.doc
- Java_excel_API_使用说明.doc
- Java处理Excel文件.doc
- Java数据导入Excel.doc
- java jdbc-odbc桥读取excel指导.doc
- java的POI操作Excel文件2.doc
- java导入导出excel操作.doc
- 2024至2030年楦头项目投资价值分析报告.docx
- 2024年05月沈阳市沈河区慈善总会2024年招考2名工作人员笔试历年典型考题与考点剖析含答案详解.docx
- 2024年06月上海市针灸经络研究所工作人员笔试历年典型考题与考点剖析含答案详解.docx
- 2024至2030年利福霉素S酸项目投资价值分析报告.docx
- 2024至2030年彩钢板平移冷库门项目投资价值分析报告.docx
- 2024年中国拉杆式下料机市场调查研究报告.docx
- 2024年烟(油)雾净化机项目可行性研究报告.docx
- 2024至2030年去屑止痒洗发露项目投资价值分析报告.docx
- 2024至2030年中国污碟台数据监测研究报告.docx
- 2024至2030年中国辊道窑用瓷管数据监测研究报告.docx
文档评论(0)