我的第一篇文章,请好心的^^
我正在使用Grunt和load-grunt-config将我的任务设置拆分成几个文件,如果我使用这种设置,这个工作正常:
./ Gruntfile.js :
module.exports = function(grunt) {
var path = require('path');
var myParam = grunt.option('myParam') || 'responsive';
// Project configuration.
grunt.initConfig({
...
require('load-grunt-config')(grunt);
...
});
...
};
./ grunt / concat.js :
var conf = require('../mytheme.config.json');
module.exports = {
dist: {
src: conf.theme.js.src,
dest: conf.theme.js.dist + 'mytheme.bundle.js',
options: {
}
}
};
我的问题如下:如何将'myParam'var传递给'concat.js'文件中的外部配置?
我不明白如何使用https://github.com/creynders/load-grunt-configs
中的文档进行操作由于
答案 0 :(得分:0)
好的,我找到了适合我的东西:
<强> ./ Gruntfile.js 强>
module.exports = function(grunt) {
// Define
var myParam = grunt.option('myParam') || 'responsive';
// Plugins
require('time-grunt')(grunt);
require('jit-grunt')(grunt);
require('load-grunt-config')(grunt, {
configPath: path.join(process.cwd(), 'grunt/config'),
jitGrunt: {
customTasksDir: 'grunt/tasks'
},
data: {
myParam: myParam // accessible with '<%= myParam %>'
}
});
};
<强> ./咕噜/配置/ concat.js 强>
var conf = require('../../mytheme.config.json');
module.exports = {
dist: {
src: conf.theme.js.src,
dest: conf.theme.js.dist + '<%= myParam %>/mytheme.bundle.js',
options: {
}
}
};
希望它也会帮助别人。
答案 1 :(得分:0)
在concat.js
上,您可以返回一个函数,然后传递参数myParam
// Gruntfile.js ...
// ____________________>
module.exports = function(grunt) {
var path = require('path');
var concat = require('./concat');
var myParam = grunt.option('myParam') || 'responsive';
concat.test(myParam);
// Project configuration.
grunt.initConfig({
...
require('load-grunt-config')(grunt);
...
});
// ...
};
// concat.js ...
// ____________________>
module.exports = {
test: function(param){
console.log(param); // logs myParam
switch(param){
case 'responsive':
// do something (responsive)
break;
case 'mobile':
// do something (mobile)
break;
default:
// do something (default)
break;
}
}
};