我有一个Grunt构建文件.我的构建文件有一个如下所示的任务:
myTask: {
options: {
configFile: "config/default.js",
args: { }
},
dev: {
configFile: 'config/local.js',
options: { args: {} },
},
test: {
configFile: 'config/remote.js',
options: { args: {} }
}
}
Run Code Online (Sandbox Code Playgroud)
...
grunt.registerTask('customTask', ['myTask:dev']);
grunt.registerTask('customTask-Test', ['myTask:test']);
Run Code Online (Sandbox Code Playgroud)
目前,我可以从命令行运行以下命令:
> grunt customTask
Run Code Online (Sandbox Code Playgroud)
一切正常.但是,我需要添加这样的能力:
> grunt customTask --myParam=myValue
Run Code Online (Sandbox Code Playgroud)
我需要在"dev"任务目标中查看myParam的值.但是,我无法弄清楚如何做到这一点.如果我可以在myTask:dev运行时打印出myParam的值,我会很高兴.换句话说,我想在运行时看到以下内容
> grunt customTask
> grunt customTask --myParam=hello
You entered hello
> grunt customTask-Test
> grunt customTask-Test --myParam=hello
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
作为我的grunt:build命令的一部分,我运行一个shell任务,构建我的jekyll站点,提交项目,并将其推送到github.唯一的问题是提交消息.我希望能够调用grunt:build并传入一个字符串,这将成为我的提交消息.但我真的不确定如何做到这一点.有什么想法吗?
以下是我的Gruntfile的相关部分:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
shell: {
dev: {
command: 'jekyll build'
},
build: {
command: [
'jekyll build',
'git commit -am "test commit"',
'git push origin master'
].join('&&')
}
}
grunt.loadNpmTasks('grunt-shell');
grunt.registerTask('build', ['jshint','concat', 'uglify','sass', 'autoprefixer','shell:build']);
};
Run Code Online (Sandbox Code Playgroud)