尝试了一些事情,但似乎无法让它发挥作用,但我认为这很简单。我正在尝试在运行任务时将变量|选项传递给Grunt初始化配置。
在那一刻我有两个单独的配置:
sass: {
dev: {
options: {
style: 'expanded'
},
files: [{
expand: true,
cwd: source + 'scss/',
src: '*.scss',
dest: destination + 'css',
ext: '.css'
}]
},
production: {
options: {
style: 'compressed'
},
files: [{
expand: true,
cwd: source + 'scss/',
src: '*.scss',
dest: destination + 'css',
ext: '.css'
}]
}
}
如您所见,除样式选项外,它们是相同的。我想做的是:
sass: {
build: {
options: {
style: style
},
files: [{
expand: true,
cwd: source + 'scss/',
src: '*.scss',
dest: destination + 'css',
ext: '.css'
}]
}
}
...
grunt.registerTask("sass", function () {
grunt.task.run('sass:build:style=expanded');
});
但我无法弄清楚如何以这种方式将选项从grunt.task.run传递给initialize配置。任何Grunt专家都知道如何做到这一点?谷歌似乎也没有答案......不确定我是否接近这个错误?
感谢您的帮助!
答案 0 :(得分:0)
请参阅Grunt API example - 这正是您要找的内容。
$ grunt --type=dev
现在您可以通过以下方式获得此值:
grunt.registerTask('default','description...', function() {
var type = grunt.option('type') || 'dev'; //if nothing passed from cli set to 'dev'
if (type == 'dev') {
grant.task.run('sass:dev');
} else if (type == 'production') {
grant.task.run('sass:production');
}
});
我认为它必须像我上面提到的那样......