我注意到与Yeoman的一些项目,当我运行任何grunt build
,grunt serve
命令时,内容(脚本标签,链接标签等)被删除我的index.html
文件。关于为什么会这样的想法?以及如何解决它。似乎特别是从我的bower_components文件夹导入时发生了这种情况,但我也有过删除font-awesome cdn的实例。
如果它有所作为,我正在使用Yeoman为AngularJS开发。
答案 0 :(得分:3)
我有时会遇到这个。更改的部分包含在
中<!-- bower:css -->
<link rel="stylesheet" href="bower_components/......" />
......
<!-- endbower -->
或
<!-- bower:js -->
<script src="bower_components/....."></script>
......
<!-- endbower -->
bower:js/css
标记中的内容是从bower.json
生成的,因此如果bower.json
中未列出js / css文件,则会从bower:js/css
中删除该文件。
好的做法是使用bower install --save
或bower install --save-dev
来安装依赖项,它会自动更新bower.json
。
答案 1 :(得分:0)
可能有点明显,但是您正在编辑app目录中的index.html而不是dist / index.html副本?
每当您构建
时,您的app / index.html都会覆盖dist文件答案 2 :(得分:0)
我找到了另一种解决方案。
由于您正在使用的lib的bower.json中缺少信息而发生这种情况。
我已经发现文件在步骤'wiredep'中被删除了。
在docs中,您有一个关于问题的部分。 基本上,如果lib的bower.json没有主节点中需要的文件,则wiredep方法将删除它。
例如,angular-i18n,用于翻译。 文件夹是:
angular-i18n/
en-us.js
pt-br.js
bower.json
如果你看看它的bower.json:
{
"name": "angular-i18n",
"version": "1.6.4",
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"components",
"precommit.sh"
]
}
添加时: 如果你添加到你的 bower.json这个节点,它将起作用:
{
"name": "project",
"dependencies": {
"angular-i18n": "^1.6.4"
},
"overrides" : {
"angular-i18n" : {
"main" : ["angular-locale_pt-br.js"]
}
}
}
希望这有帮助!