我注意到與Yeoman的幾個項目,當我運行grunt build
,grunt serve
命令中的任何一個時,內容(腳本標記,鏈接標記等)從我的index.html
文件中刪除。任何想法爲什麼發生這種情況?以及如何解決它。似乎是從我的bower_components文件夾中導入的,特別是,我還有一些情況,其中的字體真棒cdn也被刪除。咕嚕刪除index.html內容
如果它有所作爲,我正在使用Yeoman爲AngularJS開發。
我注意到與Yeoman的幾個項目,當我運行grunt build
,grunt serve
命令中的任何一個時,內容(腳本標記,鏈接標記等)從我的index.html
文件中刪除。任何想法爲什麼發生這種情況?以及如何解決它。似乎是從我的bower_components文件夾中導入的,特別是,我還有一些情況,其中的字體真棒cdn也被刪除。咕嚕刪除index.html內容
如果它有所作爲,我正在使用Yeoman爲AngularJS開發。
我遇到了這個有時被覆蓋。改變的部分被封閉在
<!-- bower:css -->
<link rel="stylesheet" href="bower_components/......" />
......
<!-- endbower -->
或
<!-- bower:js -->
<script src="bower_components/....."></script>
......
<!-- endbower -->
在bower:js/css
標籤的內容是從bower.json
產生,因此,如果JS/CSS文件不會在bower.json
列出的,它將從bower:js/css
被移除。
好的做法是使用或bower install --save-dev
來安裝依賴項,它會自動更新bower.json
。
可能有點顯而易見,但是您正在編輯app目錄中的index.html而不是dist/index.html副本?
的DIST文件將通過您的應用程序/ index.html的,只要你建立
我發現了另一種解決方案。
發生這種情況是由於缺少您正在使用的lib的bower.json中的信息。
調試grunt構建,我發現該文件在步驟'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"]
}
}
}
希望得到這個幫助!
你能否提供你的'Gruntfile.js'和有問題的'index.html'?沒有這個,就不可能給出準確的答案。 – Kosmotaur