2010-08-05 3 views
1

Я хотел бы начать включать LABjs в свой проект, но я хочу знать, есть ли вообще условная загрузка скриптов. Например, что-то вроде:LABjs условно загружает скрипты

$LAB 
    .script('framework.js').wait() 
    .script(function(){ 
     if(es){ 
      return 'es.js'; 
     }else{ 
      return ''; 
     } 
    }) 

Я не пробовал, но уверен, что это не сработает. Есть ли более элегантный способ сделать это?

Благодаря

+0

Чтобы добавить более конкретные примеры, сценарии локализации, сценарии, специфичные для браузера (необходимо поддерживать старый ie6), сценарии, которые не нужны, если пользователь аутентифицирован. Я уверен, что их больше. Что вы делаете для этих ситуаций? –

ответ

4

На самом деле, LABjs сейчас (и какое-то время) поддерживает условную цепочки ... в нескольких направлениях. Во-первых, вы можете передать функцию вызову .script(), и эта функция может иметь условную логику внутри нее, которая возвращает разные строки URL (или вообще ничего) в зависимости от условий. Во-вторых, цепочки теперь полностью возобновляются (начиная с версии 2.0, выпуская через несколько дней), поэтому вы можете сделать более легкую форму «имитируемой цепочки», упомянутую в этом выше сообщении в блоге, просто сохраняя состояние цепочки и затем собирание и добавив к нему позже, как:

var $L = $LAB.script(...).script(...); 

if (...) { $L = $L.script(...).wait(...); 

// ... 

$L = $L.script(...)..... 
0

Я использую LABjs для большинства моих проектов, но когда мне нужно условные цепочки я использую yepnode. Это довольно похоже на LABjs, но я предпочитаю, как yepnodes обрабатывает условную загрузку.

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