我有一个 Grunt 文件 ( Gruntfile.js
) 来构建一个 angularjs 组件。我使用外部 javascript 文件 ( build.config.js
) 来定义所需的文件和输出目录。
module.exports = {
build_dir: 'build',
app_files: {
src: ['src/**/*.js','!src/**/*.spec.js'],
//...
},
vendor_files: {
js: [ /* vendor files like jquery, bootstrap, etc... */ ]
}
}
我的 Gruntfile.js 像这样称呼它
module.exports = function(grunt) {
/* some code */
var userConfig = require('./build.config.js');
var taskConfig = {
pkg: grunt.file.readJSON("package.json"),
/* more code */
},
/* yet more code */
}
在我的 package.json 中,我指定了一个locale
用于 i18n 目的的变量,我可以在该taskConfig
部分中使用,方法是将其放在'<%= pkg.locale %>'
. 现在指定了一些javascript文件build.config.js
,我需要根据指定的语言环境加载,但我不知道如何获取这个变量,因为build.config.js
没有grunt
对象可以读取package.json
文件。因此,我不能做这样的事情build.config.js
:
vendor_files: {
js: [ 'vendor/foo/bar.<%= pkg.locale %>.js' ]
有没有什么办法可以在不把所有东西都放build.config.js
回去的情况下做到这一点Gruntfile.js
?