我遇到了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'
}
}
}
}
})
我正在注册以下任务
grunt.registerTask('development', [
'ngconstant:development'
]);
grunt.registerTask('staging', [
'ngconstant:staging'
]);
grunt.registerTask('production', [
'ngconstant:production'
]);
如果我运行以下两个命令,一切正常,config.js
文件生成并且看起来很棒。
grunt development
grunt staging
但是运行grunt production
不会生成config.js
文件。我似乎无法弄清楚为什么会这样。
答案 0 :(得分:1)
我在以config.js
开头的路径中生成<%= yeoman.app %>
文件的开发和暂存任务,但在生产中,您使用的是以<%= yeoman.dist %>
开头的文件。
我会检查第二条路径(或yeoman.dist
)是否存在。