Grunt 入门教程 grunt.option

2024-02-25 开发教程 Grunt 入门教程 匿名 2

grunt.option

Grunt的option API被用来在多个任务之间共享参数、访问命令行中设置的参数。

一个简单的案例就是为一个目标(target)指定一个用于区别开发期还是过渡期的标志。在命令行中:grunt deploy --target=staging会让grunt.option('target')返回"staging"

下面这个 Gruntfile案例展示了如何使用 target选项:

grunt.initConfig({
compass: {
dev: {
options: {
/* ... */
outputStyle: 'expanded'
},
},
staging: {
options: {
/* ... */
outputStyle: 'compressed'
},
},
},
});
var target = grunt.option('target') || 'dev';
grunt.registerTask('deploy', ['compass:' + target]);

当你执行 grunt deploy时,你的样式表将默认为dev目标并且输出易于阅读的CSS格式代码。如果你运行 grunt deploy --target=stagingstaging目标会被执行,输出压缩之后的CSS。

grunt.option还可以在task中使用,如下:

grunt.registerTask('upload', 'Upload code to specified target.', function(n) {
var target = grunt.option('target');
// do something useful with target here
});
grunt.registerTask('deploy', ['validate', 'upload']);

注意,boolean参数可以仅指定key,而省略value。例如,在命令行执行 grunt deploy --staging将会使grunt.option('staging')返回 true

grunt.option

获取或设置一个选项。

grunt.option(key[, val])

boolean类型的选项可以通过在 key前添加 no-来取消。案例如下:

grunt.option('staging', false);
var isDev = grunt.option('no-staging');
// isDev === true

grunt.option.init

初始化 grunt.option。如果省略 initObject,option将被初始化为一个空对象,否则将被设置为initObject

grunt.option.init([initObject])

grunt.option.flags

将所有参数作为命令行参数数组返回。

grunt.option.flags()