在 Grunt (Yeoman) 中禁用缩小

Disable minification in Grunt (Yeoman)

我最近开始通过 Yeoman 使用 GruntJS,我喜欢 Javascript 缩小的想法,但它在开发过程中带来了困难。我试图在 Gruntfile 中以不同的组合禁用 uglify、usemin 等,但一切似乎都依赖于另一件事并中断了进程。有没有简单的方法来禁用缩小?到目前为止,我正在使用 Yeoman 提供的最新版本的 Grunt,我发现较旧的解决方案具有与 Yeoman 不同的 Gruntfile 设置。

这是我的 Gruntfile:

// Reads HTML for usemin blocks to enable smart builds that automatically
// concat, minify and revision files. Creates configurations in memory so
// additional tasks can operate on them
useminPrepare: {
  options: {
    dest: '<%= config.dist %>'
  },
  html: '<%= config.app %>/index.html'
},

http://hastebin.com/gicabukojo.js

此评论块在您的 Gruntfile 中:

// By default, your `index.html`'s <!-- Usemin block --> will take care
// of minification. These next options are pre-configured if you do not
// wish to use the Usemin blocks.

基于此,从您的 index.html 文件中删除 <!-- Usemin block --> 应该可以防止 useminPrepare grunt 任务缩小您的 javascript.

此外,您可以编辑 uglify 任务以创建新文件,而不是通过将 .min 添加到文件扩展名来覆盖您的开发文件:

 uglify: {
   dist: {
     files: {
       '<%= config.dist %>/scripts/scripts.js': [
         '<%= config.dist %>/scripts/scripts.min.js'
       ]
     }
   }
 },

我需要调整 usemin flow: 选项:

根据yeoman grunt usemin's fine manual,默认flow:

{ steps: { js: ['concat', 'uglify'], css: ['concat', 'cssmin'] }, post: {} }

这是一个 gist of how I modified 我的 yo webapp Gruntfile.js 用于从流程中删除 uglify