如何使grunt不缩小某些js文件



我的grunt脚本由yeoman生成,通过useminPrepare、concat和uglifyjs连接和缩小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>

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

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

如果您选择从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中,复制文件的语法非常棘手。

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

optimization: {
    minimize: false
}

相关内容

  • 没有找到相关文章

最新更新