代码之家  ›  专栏  ›  技术社区  ›  Adrian Adkison

labjs有条件地加载脚本

  •  1
  • Adrian Adkison  · 技术社区  · 14 年前

    我想开始将labj合并到我的项目中,但是我想知道是否还有条件地加载脚本。例如,类似于:

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

    我没有试过这个,但我确信它不会起作用。有更优雅的方式吗?

    谢谢

    3 回复  |  直到 10 年前
        1
  •  4
  •   Kyle Simpson    13 年前

    实际上,LabJS现在(并且暂时)支持条件链接…在一些方面。首先,您可以将一个函数传递给.script()调用,该函数内部可以有条件逻辑,根据条件返回不同的URL字符串(或者根本不返回任何内容)。其次,链现在可以完全恢复(从2.0开始,几天内就可以发布),因此您可以通过简单地保存链的状态,然后在稍后提取并添加到链中,从而更容易地执行上述博客文章中提到的“模拟链”形式,如:

    var $L = $LAB.script(...).script(...);
    
    if (...) { $L = $L.script(...).wait(...);
    
    // ...
    
    $L = $L.script(...).....
    
        2
  •  0
  •   Adrian Adkison    14 年前
        3
  •  0
  •   ashwoods    13 年前

    我在大多数项目中使用labjs,但是当我需要条件链接时,我使用yepnode。它与labjs非常相似,但我更喜欢yepnodes如何处理条件加载。

    推荐文章