• grunt.option
    • grunt.option ☃
    • grunt.option.init
    • grunt.options.flags

    grunt.option

    Grunt的option API可以用来跨多任务共享参数,以及在命令行中访问参数设置。

    一个简单的例子就是给你的目标(任务目标)打一个标记,标识任务是在开发阶段还是暂存阶段。在命令行中运行grunt deploy --target=staging就会让grunt.option('target')返回"staging"

    下面是一个在Gruntfile中使用target选项的例子:

    1. grunt.initConfig({
    2. compass: {
    3. dev: {
    4. options: {
    5. /* ... */
    6. outputStyle: 'expanded'
    7. },
    8. },
    9. staging: {
    10. options: {
    11. /* ... */
    12. outputStyle: 'compressed'
    13. },
    14. },
    15. },
    16. });
    17. var target = grunt.option('target') || 'dev';
    18. grunt.registerTask('deploy', ['compass:' + target]);

    当你运行grunt deploy时你的样式表默认情况下为dev目标,并且它会以展开的格式输出CSS代码。如果你运行grunt deploy --target=staging, staging目标会替代父级的dev目标,同时它会以压缩格式输出CSS代码。

    grunt.option也可以用在任务中,例如:

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

    注意:可以只用只有键(属性)而没有值的方式来指定布尔值选项。例如,在命令行中运行grunt deploy --staging会导致grunt.option('staging')返回true

    grunt.option ☃

    获取或者设置一个选项。

    1. grunt.option(key[, val])

    可以通过在key键上使用一个前置的no-来否定buerhi选项。例如:

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

    grunt.option.init

    初始化grunt.option设置。如果忽略参数中的initObject选项就会初始化为一个空对象,否则设置为指定的initObject

    1. grunt.option.init([initObject])

    grunt.options.flags

    以数组的形式选为命令行参数选项。

    1. grunt.option.flags()