requirejs 小结
2016-03-24 09:23
302 查看
1,“生搬硬套”-----js依赖的写法,依赖关系如这里的嵌套关系:
2,如果在一个项目规划的时候就计划使用requirejs,那么建议你使用AMD规范的写法,然后使用模块的对象回调,如:
这里将app.js和index.js模块输出为对象app和index两个回调参数,可以直接使用,
需要注意的是:一些主流的(如jquery)是直接支持AMD规范的,那么不支持规范的怎么办呢?这里requirejs提供了解决的方案,如下:
这里的deps表示jScroll所依赖的库,exports表示对外开发的对象名称
/** * 模块化加载,注意各个js文件的依赖关系(嵌套) */ require(["jquery"], function ($) { console.log($) require(["bootStrap"], function () { }); require(["common"], function () { require(["echarts"],function(){ require(["zb_charts_func","common_src"],function(){ init_page_charts(echarts); init_common_charts(echarts); require(["changeCharts"],function(ut){ }); }); }); require(["tagcanvas"], function () { require(["app", "index"], function () { $(function () { App.getName(); Index.initPage(); }); }); }); }); });
2,如果在一个项目规划的时候就计划使用requirejs,那么建议你使用AMD规范的写法,然后使用模块的对象回调,如:
/** *index.js **/ define(function(){ var name="张三"; var getName=function(){ return name; } return{ getName:getName } }); /** *app.js **/ define(function(){ var initPage=function(){ console.log("page init success!") } return{ initPage:initPage } }); /** *主文件main.js **/ require(["app", "index"], function (app,index) { app.getName(); index.initPage(); });
这里将app.js和index.js模块输出为对象app和index两个回调参数,可以直接使用,
需要注意的是:一些主流的(如jquery)是直接支持AMD规范的,那么不支持规范的怎么办呢?这里requirejs提供了解决的方案,如下:
require.config({ shim: { 'jScroll':{ deps: [ 'jquery'], exports: 'jScroll' } } });
这里的deps表示jScroll所依赖的库,exports表示对外开发的对象名称
相关文章推荐
- UISplitViewController - 分割视图控制器
- poj-2533-Longest Ordered Subsequence
- 《iOS Human Interface Guidelines》——Detail Disclosure Button
- 新安装的mysql,启动时候出现错误 The server quit without updating pid file
- 详解iOS App开发中改变UIButton内部控件的基本方法
- UINavigationController、UINavigationBar及navigationItem关系探讨
- .NET跨平台之Sake和KoreBuild
- UIImageView添加圆角
- UVa 1584 Circular Sequence --- 水题
- UESTC 250 windy数 (数位DP)
- UI-UIImageView的图片填充方式(contentMode)_图片作为控件背景图的拉伸方式(stretch)介绍
- SUID、SGID、Sticky
- jfinal+ueditor上传图片、文件报“未找到上传数据错误”的解决方案
- XIB文件上UIScrollView的约束
- Ciso WLC命令行添加Wifi Guest 帐号
- iOS 的UIView 的hitTest的分析
- 用SoapUI进行Webservice的性能压力测试
- iPhone6&iPhone6 Plus CSS3 Media Queries
- Patchwork & Quilting(拼布和绗缝)
- What is Bluetooth Profile[待翻译]