我有一個Grunt文件(Gruntfile.js
)來構建一個angularjs組件。我使用外部JavaScript文件(build.config.js
)來定義所需的文件和輸出目錄。具有「require」功能並傳遞參數的Gruntfile.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,我指定的i18n目的locale
變量,我可以把它像'<%= pkg.locale %>'
的taskConfig
部分內部使用。現在有一些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
?