我不确定它是如何工作的,所以请原谅我的问题。我正在使用Angular进行开发,并注意到Bower存在一些不良行为。我使用Yeoman创建了我的应用程序,并使用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 -->
我注意到这个列表里没有添加传递依赖。例如,angular-ui-tinymce 依赖 tinymce。尽管 tinymce 是以传递依赖的形式安装的,但它并没有包含在 index.html 文件中,所以我必须自己加上它。但这破坏了使用 bower 管理脚本包含的实践目的(即如果我卸载 angular-tinymce,bower 将删除其脚本,但我手动添加的 tinymce 脚本将留存在那里)。
有可能告诉 bower 在 index.html 文件中添加传递依赖吗?或者这是一个不好的想法,应该手动管理?在社区中,最佳实践是什么?