LazyLoad.js和require.js之间的区别

时间:2013-08-29 13:40:40

标签: javascript requirejs jquery-lazyload

我目前正在编写一个带有require.js的示例应用程序,现在找到了LazyLoad.js。

Require.js

require(["modul1", "modul2"],function(Modul1, Modul2){

LazyLoad.js

LazyLoad.js(["modul1", "modul2"],function(Modul1, Modul2){

这两者之间的区别在哪里?

对我来说,能够加载模块异步并且依赖管理应该自动完成非常重要。

1 个答案:

答案 0 :(得分:6)

如果您想要自动依赖关系管理,则LazyLoad不合适。如果您只需要一个运行时加载器并且不关心:

,则LazyLoad是合适的

  1. 定义modules
  2. 跟踪依赖关系。来自lazyload github(强调我的):

      

    当您需要一个小型,快速,安全的动态JS或CSS加载器时,请使用LazyLoad,但不需要依赖关系管理的开销或更大的脚本加载器提供的其他额外功能。

  3.   
  4. 构建时optimization
  5. 的选项      看起来LazyLoad只是直接加载URL而不检查路径映射或者是否已加载该模块。所以我认为您的第二个代码段可能如下所示:

    LazyLoad.js(["some/path/modul1.js", "some/path/modul2.js"],function(Modul1, Modul2){
    

    而RequireJS会让你做这样的事情:

       require.config({
           paths: {
               modul1: 'libs/module1/blah.1.3.3-min',
               modul2: 'libs/module2/foo.2.7.2-min',
           }
       });
    
       require(["modul1", "modul2"],function(Modul1, Modul2){
    

    还要定义shims,了解在这些模块之前需要加载哪些文件。