Ara*_*ash 5 angularjs yeoman bower
我不确定它是如何工作的,所以请原谅我粗略的问题.我正在玩角度,并注意到凉亭有一些不受欢迎的行为.我用自耕农创建了我的应用程序,并使用bower进行依赖管理.index.html文件中有一节应该由bower管理:
<!-- build:js scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
<script src="bower_components/angular-ui-tinymce/src/tinymce.js"></script>
<!-- endbower -->
Run Code Online (Sandbox Code Playgroud)
我注意到传递依赖关系没有添加到此列表中.例如,角度ui-tinymce取决于tinymce.尽管tinymce作为传递依赖安装,但它不包含在index.html文件中,所以我必须自己包含它.但这打败了管理脚本的实践包括用bower(即如果我卸载angular-tinymce,bower将删除它的脚本,但我手动添加的tinymce脚本将在那里挂起.
有可能告诉bower在index.html文件中添加传递依赖项吗?或者这是一个坏主意,应该手工管理?社区中最好的做法是什么?
grunt-bower-install这实际上是一个名为“插入 HTML”的Grunt 任务。它在您的Gruntfile.jsas中配置bower-install,然后可能作为 的一部分运行grunt serve。也可以直接调用:grunt bower-install.
只要您安装了 Bower 组件并将其保存在您的 中bower.json,它及其依赖项就会按照与其关系相匹配的顺序注入到您的 HTML 中。然而,唯一不起作用的情况是 Bower 组件未main在其自己的bower.json文件中指定属性时。
因此,需要明确的是,您有一个bower.json列出了应用程序的依赖项的列表。此外,您在大多数情况下列出的每个依赖项都会有自己的依赖bower.json项(如果有)和一个属性,该属性会告诉您将哪个文件注入到 HTML 中等信息。一旦这些依赖项之一未能遵循指定的约定,它就会失去其魔力。maingrunt-bower-installmaingrunt-bower-install
在 的情况下angular-ui-tinymce,它确实列为tinymce依赖项,但未tinymce配置bower.json文件。因此,没有bower.json属性main可以告诉我们要注入所有这些文件中的grunt-bower-install哪个文件。
我能看到的最好的选择是自己手动写出标签<script>,就像你说的那样,如果你决定不使用它,只需手动删除它。最糟糕的是,当grunt-bower-install不起作用时,它仍然只是我们这些年来已经习惯的 Web 开发。:)
| 归档时间: |
|
| 查看次数: |
2269 次 |
| 最近记录: |