加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – bower传递依赖性未添加角度

发布时间:2020-12-17 17:37:54 所属栏目:安全 来源:网络整理
导读:我不确定它是如何工作的,所以请原谅我粗略的问题. 我正在玩角度,并注意到凉亭有一些不受欢迎的行为.我用自耕农创建了我的应用程序,并使用bower进行依赖管理. index.html文件中有一节应由bower管理: !-- build:js scripts/vendor.js --!-- bower:js --script
我不确定它是如何工作的,所以请原谅我粗略的问题.
我正在玩角度,并注意到凉亭有一些不受欢迎的行为.我用自耕农创建了我的应用程序,并使用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 -->

我注意到传递依赖关系没有添加到此列表中.例如,角度ui-tinymce取决于tinymce.尽管tinymce作为传递依赖安装,但它不包含在index.html文件中,所以我必须自己包含它.但这打败了管理脚本的实践包括用bower(即如果我卸载angular-tinymce,bower将删除它的脚本,但我手动添加的tinymce脚本将在那里挂起.

有可能告诉bower在index.html文件中添加传递依赖项吗?或者这是一个坏主意,应该手工管理?
社区中最好的做法是什么?

解决方法

这实际上是一个名为 grunt-bower-install的Grunt任务,它正在插入HTML.它在您的Gruntfile.js中配置为bower-install,然后可能作为grunt serve的一部分运行.它也可以直接调用:grunt bower-install.

只要您在bower.json中安装并保存了Bower组件,它及其依赖项将按照与其关系匹配的顺序注入到您的HTML中.但是,唯一不行的是,当Bower组件未在其自己的bower.json文件中指定主属性时.

所以,要清楚,你有一个bower.json列出你的应用程序的依赖项.此外,您在大多数时间列出的每个依赖项都有自己的bower.json,它列出了它的依赖项(如果有的话),还有一个main属性,它告诉像grunt-bower-install这样的文件要注入到HTML中.只要其中一个依赖项无法遵循指定main的约定,grunt-bower-install就会失去它的魔力.

在angular-ui-tinymce的情况下,它确实是list tinymce as a dependency,但是tinymce没有配置bower.json文件.因此,没有bower.json带有一个主要属性来告诉grunt-bower-install注入要注入的文件out of all these.

我能看到的最佳选择是手动写出< script>像你说的那样标记自己,并在你决定不使用它时手动删除它.在最糟糕的情况下,当grunt-bower-install不起作用时,它仍然只是我们这些年来习惯的网络开发.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读