4

我由 yeoman 生成的 grunt 脚本通过 useminPrepare、concat 和 uglifyjs 连接和缩小 js 文件。

这很好用,但是我不希望它缩小一个 js 脚本。如何在 grunt 文件中指定它?

4

4 回答 4

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>
于 2014-07-08T05:24:18.350 回答
2

我花了几天时间寻找与您类似的问题的解决方案,然后我发现了一个不同的问题,该问题的答案可能适合解决您的问题,因为它解决了我的问题:https ://stackoverflow.com/a/24819171/785985

解决方案是定义要由 Grunt 处理的自定义块。然后你可以用 指定一个块,用 指定另一个['concat']['concat', 'uglifyjs']

于 2015-04-07T15:10:18.020 回答
1

如果您选择从 John Locke 的每个项目的缩小标签中排除文件,请不要忘记手动将这些文件复制到“dist”目录。通常,当您缩小文件时,生成的缩小库会复制到 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 中复制文件的语法非常棘手。我试了几次才把它弄好。

于 2015-12-03T06:20:01.773 回答
1

只需在 Gruntfile.js 中将该脚本的最小化选项设置为 false。

optimization: {
    minimize: false
}
于 2019-02-17T14:02:24.380 回答