默认的yeoman角度应用程序与wiredep,concat和cdnify - 如何实际上cdnify' d?

时间:2014-08-06 16:21:50

标签: javascript angularjs gruntjs cdn yeoman

我有一个角色项目,我启动了默认的自耕农设置。

了解构建过程的工作原理,我无法想象我的任何bower依赖项是如何自动进行的,以及cdnify任务的重点是什么。

首先,yeoman用wiredep设置一切,然后在我的凉亭依赖中将其连接到index.html中。它看起来像:

<!-- build:js(app) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/json3/lib/json3.js"></script>
<!-- endbower -->
<!-- endbuild -->

从Yeoman看我的Gruntfile,似乎

  1. Wiredep强制所有bower依赖项进入此块
  2. 然后将整个块编译成vendor.js
  3. 最后

    1. cdnify运行,识别任何免费脚本标记并尝试替换为cdn&d; d版本。
    2. 这对我来说似乎很愚蠢。但是在我开始攻击我的Gruntfile之前,我想确保我的理解是正确的。

      我不能简单地复制粘贴这个块之外的依赖关系,因为wiredep只会将它们放回去。如果我这样做,index.html会包含两次jquery,例如。一次进入vendor.js,第二次来自cdn。

      如果我想使用cdnify,那么我需要远离wiredep,并手动决定哪些依赖项应该是cdnify&d;哪些不应该是

      似乎自己比这更聪明,我想确保我不是这里的傻瓜。这种设置是否有些矛盾/多余,这是真的吗?我错过了什么吗?

      更新似乎将脚本放在此块之外会导致wiredep不将它们放在bower块中。但是,我找不到任何说明这是记录在案的行为的地方。

1 个答案:

答案 0 :(得分:0)

您可以转到已注册任务的grunt文件的底部,并从像grunt build这样的任务中删除CDNify之类的内容。然后Grunt将跳过该步骤。