我的grunt脚本由yeoman生成concats并通过useminPrepare,concat和uglifyjs缩小js文件。
这很有效,但有一个js脚本我不想让它缩小。如何在grunt文件中指定?
答案 0 :(得分:3)
您可以做些什么来放置您不想在构建脚本之外缩小的文件,例如:
<!-- 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>
答案 1 :(得分:2)
我花了几天时间寻找类似于你的问题的解决方案,然后我发现了一个不同的问题,它有一个可以解决你问题的答案,因为它解决了我的问题:https://stackoverflow.com/a/24819171/785985
解决方案是定义Grunt要处理的自定义块。然后,您可以使用['concat']
指定一个块,使用['concat', 'uglifyjs']
指定另一个块。
答案 2 :(得分:1)
如果您选择从John Locke的每件商品中删除缩小标签中的文件,请不要忘记将这些文件手动复制到&#39; dist&#39; DIR。通常,当您缩小文件时,生成的缩小库将复制到dist目录。但是既然你没有缩小它们,你必须自己复制它们。
例如,我不想在我的应用中压缩用户脚本,以便人们更容易在线检查代码。编辑我的&#39; index.html&#39;从标签中删除它们:
'<!-- 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中复制文件的语法非常棘手。我花了几次尝试才能把它弄好。
答案 3 :(得分:0)
只需在Gruntfile.js中将该脚本的最小化选项设置为false。
optimization: {
minimize: false
}