外部函数库LABjs和RequireJS,可以帮助我们更有效地管理Javascript加载。 下面根据ScriptJunkie的文章,举一个最简单的例子,来说明这两个函数库的基本用法。 下面,用LABjs对其进行改写: <script src=”LAB.js”></script> <script type=”text/javascript”> $LAB .script
外部函数库LABjs和RequireJS,可以帮助我们更有效地管理Javascript加载。 下面根据ScriptJunkie的文章,举一个最简单的例子,来说明这两个函数库的基本用法。 下面,用LABjs对其进行改写: <script src="LAB.js"></script> <script type="text/javascript"> $LAB
使用实例:http://www.au92.com/archives/labjs.html 解释说明:http://miyuki.42code.com/2012/03/jsload-labjs-requirejs / LABjs 对外公开的 API 一共有 4 个方法,分别为 setGlobalDefaults() 方法,setOptions() 方法,script() 方法以及 wait() 方法。 LABjs 的内部变量中,最重要的是一个叫 engine 的对象,它负责 script() 以及 wait() 方法的具体实现以及内部变量的维护。
为了实现这样的目标,LABjs 使用了上面方法中的三种,分别是:Script DOM Element、cache trick、XHR Injection。 LABjs 中使用了一种 cache trick 的手段,它创建一个 script 标签,并将其 type 设为 “text/cache” ,把它插入页面。 这种 trick 似乎是 LABjs 的作者 @getify 首先提出来的。 通过这样的方式,LABjs 在 IE/Safari/Chrome 等浏览器下实现了脚本的预加载以及执行顺序管理。 所以,如果 LABjs 检测到要下载的外部 js 与当前页面是同域并且浏览器不为 Firefox/Opera(不能保证执行顺序与插入顺序一致)的话,它会优先采用 XHR Injection 的方式。
GitHub上可以下载; Alice: 是支付宝的前端css解决方案, 是arale的子集; seajs( 现在由淘宝和腾讯的人在维护这个项目.seajs简单来说, 就是类似与labjs, requirejs , labjs是可以动态载入js文件, 然后延迟将js功能加载到内存的工具); 简单的说 Node.js 就是运行在服务端的 JavaScript。
LABjs 起初script标签引入文件 我们最初使用html中的<script>标签来引入js文件。当项目不断变大以后,我们的项目的依赖也开始变多,就像下面。 <body> ... LABjs LABjs它是一个文件加载器,使用script和wait实现文件异步和同步加载,解决文件之间的相互依赖,使的文件加载的性能大大提高。有了它我们的html中引脚本文件可以成下面这样。 同时加载所有的js文件 .wait(function() { // 等所有的js文件加载完成以后,执行这里的代码块 math.add(2, 2); }) </script> 同时LABjs 想要了解AMD和CMD的区别可以去: JavaSript模块规范 - AMD规范与CMD规范介绍 本篇中前面的LABjs和YUIjs都已经成为历史,个人觉得只需要知道有过就行了,因为篇幅问题,还有很多关于模块化的内容没有写
Appliction.init(); }) 多个文件: LazyLoad.js(["a.js","b.js"],function(){ Application.init(); }) (5)The LABjs
已经有些大牛比如之前提到的Kyle已经提供了兼容个浏览器的标准库,项目名称是 LABjs。 自己写了一个简单的插件,目前并没有在IE6,7上测试。 if(!
信任机制 由Labjs作者编写的《深入理解Promise五部曲》从另一个角度对Promise进行更深刻的解读。
无阻塞加载类库——LABjs,使用方法如下: <script src="lab.js"></script>// 链式调用时文件逐个下载,.wait()用来指定文件下载并执行完毕后所调用的函数$LAB.script
无阻塞加载类库——LABjs,使用方法如下: <script src="lab.js"></script> // 链式调用时文件逐个下载,.wait()用来指定文件下载并执行完毕后所调用的函数 $LAB.script
"async" (一旦脚本可用,则会异步执行) 动态创建 script DOM:document.createElement('script'); XmlHttpRequest 脚本注入 异步加载库 LABjs