写的东西里面都用到了requrieJs.
额。现在我就来总结一番这个东西。加深记
如果大量的js文件在页面加载会是页面停止渲染,而且js又有严格的顺序和依赖关系,然而requireJs很好的解决了这些问题。
1,下载require.js
2,放在项目里
<script src="script/requirejs.min.js" data-main="script/requireMain.js"></script>
requirejs在加载的时候,会检查data-main属性,data-main可以指定网页程序的主模块(requireMain.js可以简写成requireMain),
这样就保证 requirejs和主模块js文件不会等待加载。
3,使用require.config() 进行加载行为自定义。
requirejs.config({ paths:{ math:"app/math", dependebcies:"lib/dependebcies" } });
其实config()中有许多配置项,为了简单例子就没有配置。
baseUrl:所有模块的查找根路径。
paths:path映射那些不放在bathUrl的模块。
shim:为那些没有使用define()来声明依赖关系。
waitSeconds:......
参见requireJS文档
4,主模块
require(['math','dependebcies'],function(math,dependebcies){ var x=2; var y=3; alert(math.add(x,y)); alert(dependebcies.sub(x,y)); })
加载math 和 dependecies模块;
require(['A'],function(A){});
5,AMD模块的写法
define(function(){ var add=function(x,y){ return x+y; }; return{ add:add }; });
math.js //没有任何依赖。
define(['math'],function (math){ var sub = function (x,y){ return math.add(x,y)-1; }; return { sub: sub }; });
dependebcies.js//依赖math.js
requireJs还允许加载文本和图片,它提供了一波插件~~~~~~
额 就先写到这吧。
依赖关系 一定要清楚