grunt-ng-constant目标不能始终如一地工作

The*_*boy 6 javascript angularjs gruntjs

我遇到了一个奇怪的问题,grunt-ng-constant其中3个目标中只有2个起作用.

我的配置如下所示:

grunt.initConfig({
  ngconstant: {
    options: {
      space: '  ',
      wrap: '"use strict";\n\n {%= __ngModule %}',
      name: 'config'
    },
    // Environment targets
    development: {
      options: {
        dest: '<%= yeoman.app %>/scripts/config.js',
      },
      constants: {
        ENV: {
          name: 'development',
          apiEndpoint: 'http://your-development.api.endpoint:3000'
        }
      }
    },
    staging: {
      options: {
        dest: '<%= yeoman.app %>/scripts/config.js',
      },
      constants: {
        ENV: {
          name: 'staging',
          apiEndpoint: 'http://your-staging.api.endpoint:3000'
        }
      }
    },
    production: {
      options: {
        dest: '<%= yeoman.dist %>/scripts/config.js',
      },
      constants: {
        ENV: {
          name: 'production',
          apiEndpoint: 'http://api.livesite.com'
        }
      }
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

我注册了以下任务

 grunt.registerTask('development', [
    'ngconstant:development'
 ]);

 grunt.registerTask('staging', [
    'ngconstant:staging'
 ]);

 grunt.registerTask('production', [
   'ngconstant:production'
 ]);
Run Code Online (Sandbox Code Playgroud)

如果我运行以下两个命令,一切正常,config.js文件生成,看起来很棒.

grunt development
grunt staging
Run Code Online (Sandbox Code Playgroud)

但是运行grunt production不会生成config.js文件.我似乎无法弄清楚为什么会这样.

slo*_*mek 1

config.js我在开发和登台任务中都在以 开头的路径中生成文件<%= yeoman.app %>,但在生产中您使用的是以 开头的文件<%= yeoman.dist %>

我会检查第二条路径(或yeoman.dist)是否存在。