首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Grunt多个目标

配置Grunt多个目标
EN

Stack Overflow用户
提问于 2013-12-30 14:02:41
回答 1查看 521关注 0票数 1

我正在尝试配置两个uglify目标:

代码语言:javascript
复制
module.exports = function(grunt) {

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      development: {
        options: {
          banner: '// DEVELOPMENT\n',
          report: 'gzip'
        },
        build: {
          src: 'js/**/*.js',
          dest: 'dist/<%= pkg.name %>.min.js'
        }
      },

      production: {
        options: {
          banner: '// PRODUCTION\n'
        },
        build: {
          src: 'js/**/*.js',
          dest: 'dist/<%= pkg.name %>.min.js'
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.registerTask('default', ['uglify:production']);
};

uglify:developmentuglify:production都不会产生任何输出或错误。

如果不使用任何目标(只需将optionsbuild目录添加到uglify对象),则任务运行良好。

我还遗漏了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-30 16:31:23

它不起作用的原因是,您一定是从某个地方复制了它,并且假设build是目标的一部分,而在现实中,这些选项应用于每个目标,而build是一个目标。

options可以是特定于目标的,也可以应用于每个目标。

试着这样做:

代码语言:javascript
复制
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      development: {
        options: {
          banner: '// DEVELOPMENT\n',
          report: 'gzip'
        },
        src: 'js/**/*.js',
        dest: 'dist/<%= pkg.name %>.min.js'
      },

      production: {
        options: {
          banner: '// PRODUCTION\n'
        },
        src: 'js/**/*.js',
        dest: 'dist/<%= pkg.name %>.min.js'
      }
    }
  });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20841091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档