2013-08-29 3 views
3

В настоящее время я пишу пример приложения с require.js и теперь нашел LazyLoad.js.Разница между LazyLoad.js и require.js

Require.js

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

LazyLoad.js

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

Где разница между ними обоими?

Для меня важно иметь возможность загружать модули async, и управление зависимостями должно выполняться автоматически.

ответ

6

Если вы хотите автоматическое управление зависимостями, тогда LazyLoad не подходит. LazyLoad подходит, если вам нужен только во время выполнения загрузчик и не заботятся о:

  1. Определение modules
  2. зависимостей отслеживания. Из lazyload github (курсив мой):

    Используйте LazyLoad, когда вам нужны маленькие, быстрые, безопасные динамические JS или CSS загрузчик, но не нужны накладные управления зависимостями или других дополнительных функций, которые больше сценария погрузчики обеспечивают.

  3. Вариант для сборки времени optimization
Это выглядит как 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 для того, что файлы должны быть загружены перед этими модулями.

+0

Итак, с помощью шайбы я могу сделать доступную внешнюю библиотеку для требуемого? – Androidewbie

+0

@Androidewbie Да, см. [Этот вопрос] (http://stackoverflow.com/questions/15471088/requirejs-why-and-when-to-use-shim-config) – explunit

 Смежные вопросы

  • Нет связанных вопросов^_^