我有一个用默认的yeoman设置启动的 Angular 项目。
通过查看构建过程的工作原理,我无法想象如何自动识别我的Bower依赖关系以及cdnify任务的意义。
首先,yeoman使用wiredep设置了所有内容,这将我的Bower依赖项连接到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,看来
最后
这对我来说似乎很愚蠢。但是在开始破解Gruntfile之前,我想尝试确保自己的理解是正确的。
我不能简单地在此块之外简单地复制粘贴cdnify的依赖项,因为wiredep只是将它们放回去。例如,如果我这样做,index.html将包括两次jquery。一次进入vendor.js,第二次来自cdn。
如果我想使用cdnify,那么我需要摆脱wiredep,并手动决定应该对哪些依赖项进行识别,而哪些则不应该。
似乎yeoman会比这更聪明,并且我想确保我不是这里的傻瓜。确实这种设置有些矛盾/多余吗?我想念什么吗?
更新看来,将脚本放置在此块之外会导致wiredep不会将其放置在Bower块中。但是,我找不到任何地方说这是记录的行为。
最佳答案
您可以转到已注册任务的grunt文件的底部,然后从诸如grunt build之类的任务中删除CDNify之类的内容。然后Grunt下次将跳过该步骤。
关于javascript - 带有wiredep、concat 和cdnify 的默认yeoman angular 应用程序——实际上cdnify 是怎么回事?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25165372/