-

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=staging ,staging目标会被执行,输出压缩之后的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()