объединение LABjs с Modernizr и yepnopejs

#javascript #modernizr #labjs

#javascript #модернизация #labjs ( лабораторные) #modernizr #labjs

Вопрос:

Я использую LABjs, и это работает хорошо.

Сейчас я пытаюсь использовать удивительный Modernizr и замечаю, что он использует yepnopejs для условной загрузки ресурсов.

Поскольку я действительно хочу условную загрузку, могу ли я использовать LABjs и yepnopejs вместе? Или я должен выбрать исключительно что-то одно? Если у кого-то есть опыт их совместного использования, я был бы признателен за ваш отзыв. Спасибо!

Комментарии:

1. Я очень сильно подозреваю, что у вас не возникнет проблем с такой комбинацией.

Ответ №1:

LABjs может выполнять условную загрузку, точно так же, как и yepnope (у него просто нет для этого такого привлекательного API, как yepnope).

 $LAB.script(typeof JSON == "undefined" ? "json2.js" : false).wait()
.script("myotherscript.js");
  

-или-

 $LAB.script(function(){
   if (typeof JSON == "undefined") return "json2.js";
})
.wait()
.script("myotherscript.js");
  

Итак, вы должны быть в состоянии выполнять загрузку с помощью LABjs, а тестирование функций HTML5 — с помощью modernizr.


Жаль, что modernizr также поставляется с yepnope и что это приводит к загрузке чуть большего количества кода, чем вам нужно, поскольку у вас два загрузчика. В этом случае вы могли бы отказаться от LABjs и использовать только yepnope, или вы могли бы просто игнорировать эту незначительную проблему (на данный момент *).

Я настоятельно рекомендую использовать LABjs, поскольку его функциональность загрузки под обложками более надежна / рассчитана на будущее (но не так широка), чем yepnope.

* Я планирую выпустить «yeahno.js «под ним будет LABjs, а поверх него — yepnope API, чтобы получить лучшее из обоих миров. Тогда вы сможете загружать modernizr, yepnope (API) и LABjs одновременно, без каких-либо дополнительных затрат. Следите за обновлениями http://github.com/getify/yeahno.js.