yeoman生成的grunt腳本通過useminPrepare,concat和uglifyjs連接並縮小js文件。如何使grunt不會縮小某些js文件
這很好,但有一個我不希望它縮小的js腳本。我該如何在grunt文件中指定它?
yeoman生成的grunt腳本通過useminPrepare,concat和uglifyjs連接並縮小js文件。如何使grunt不會縮小某些js文件
這很好,但有一個我不希望它縮小的js腳本。我該如何在grunt文件中指定它?
你可以做的是把你不想構建腳本之外再縮小文件,例如:
<!-- build:js js/app.js -->
<script src="js/app.js"></script>
<script src="js/minifythis.js"></script>
<script src="js/models/minifythis.js"></script>
<!-- endbuild -->
<script src="js/do-not-minify-this.js"></script>
你仍然需要手動複製任何你不是最小化的文件。看看我後來的帖子舉個例子。 – vt5491
如果你正在使用Grunt,你需要編輯你的Grunt文件,如果你把文件放在不同的目錄下。在我的情況下,我創建了一個Angular文件夾,因此我將{,* /} *。js添加到了複製屬性中。希望這可以幫助。 –
我花了幾天尋找一個解決一個問題你類似,然後我發現一個不同的問題有一個答案,可能適合解決您的問題,因爲它解決了我的問題:https://stackoverflow.com/a/24819171/785985
解決方案是定義要由Grunt處理的自定義塊。然後,您可以使用['concat']
指定一個塊,使用['concat', 'uglifyjs']
指定另一個塊。
如果您選擇從John Locke的每個項目的minification標記中排除文件,請不要忘記手動將這些文件複製到'dist'目錄。通常,當您縮小文件時,所生成的縮小庫將被複制到擴展目錄中。但既然你沒有縮小它們,你必須自己複製它們。
例如,我不想在應用程序中壓縮用戶腳本,以便人們更容易在線查看代碼。編輯我是index.html,從標籤中刪除後:
'<!-- build:js({.tmp,app}) scripts/scripts.js -->'
我有以下添加到我的Gruntfile的副本步:
copy: {
dist: {
files: [
...
{ // manually copy all the files you are not minimizing:
expand: true,
cwd: '<%= yeoman.app %>/scripts/',
src:"{,*/}*.js",
dest:"<%= yeoman.dist %>/scripts/"
}
]
},
...
},
用於複製文件的語法很刺在Grunt。我花了幾次嘗試才把它做好。
查看問題http://stackoverflow.com/questions/18453974/how-to-ignore-files-grunt-uglify – Ace
@Ace是的,我看到了這個問題,它確實回答了這個問題,如果我專門配置uglify ,但在我的情況下,我使用useminPrepare來創建uglify配置,所以我只是想弄清楚useminPrepare修改uglify配置的方法。 – Hisham
另外@Ace在我的情況下,我使用concat來連接一個文件中的所有腳本。那麼我應該從串聯中排除一個js文件並保留它自己嗎? – Hisham