• grunt.config
    • 初始化配置数据
      • grunt.config.init
      • 使用配置数据
      • grunt.config
      • grunt.config.get
      • grunt.config.process
      • grunt.config.getRaw
      • grunt.config.set
      • grunt.config.escape
    • 载入配置数据
      • grunt.config.requires ☆

    grunt.config

    访问定义在Gruntfile中项目特定的配置数据。

    注意任何使用☃(unicode形式的雪人)标记的方法直接用在grunt对象上都是有效的,任何在任务内部使用☆(白色星星)标记的方法用this访问也是有效的。你只需要知道这些就行。

    初始化配置数据

    注意下面的方法在grunt对象上如同在grunt.initConfig中都是可用的。

    grunt.config.init

    为当前项目初始化一个配置对象。指定的configObject可以在任务中使用,并且可以使用grunt.config来访问。几乎每个项目的Gruntfile都会调用这个方法。

    1. grunt.config.init(configObject)

    注意任何指定在<% %>中模板字符串在配置数据检索完成之后都会被处理。

    这里有一个例子包含了grunt-contrib-jshint插件的jshint任务中的简单的配置数据。

    1. grunt.config.init({
    2. jshint: {
    3. all: ['lin/*.js', 'test/*.js', 'Gruntfile.js']
    4. }
    5. });

    查看新手入门指南可以看到更多的配置相关的例子。

    这个方法还可以作为grunt.initConfig来使用。

    使用配置数据

    下面的方法允许通过点号分割的字符串—像pkg.author.name或者通过属性名数组—像['pkg','author', 'name']来访问Grunt配置数据。

    注意如果指定的属性名中包含一个.(点号),就须使用一个斜线字符进行转义。例如: concat.dist/built\\.js。如果指定了一个数组部分,grunt将使用grunt.config.escape方法在内部进行转义处理。

    grunt.config

    从项目的Grunt配置中获取或者设置一个值。这个方法时其他两个具体方法的别名;如果传递两个参数,则grunt.config.set被调用,否则调用grunt.config.get

    1. grunt.config([prop [, value]]);

    grunt.config.get

    从项目的grunt配置中获取一个值。如果指定prop,则返回该属性的值;如果没有定义该属性则返回null。如果没有指定prop,则返回一个完整的配置对象副本。模板字符串将使用grunt.config.process方法以递归的方式处理。

    1. grunt.config.get([prop]);

    grunt.config.process

    处理一个值,当遇到这种情况时,它会在Grunt配置上下文环境中以递归方式展开<% %>模板(通过grunt.template.process方法实现)。这个方法会通过grunt.config.get来自动调用而不是grunt.config.getRow方法。

    1. grunt.config.process(value);

    如果检索到任意的独立的'<%= foo %>'或者'<%= foo.bar %>'模板字符串,并且其中所指定的foo或者foo.bar属性是一个非字符串值(不是null或者undefined),它会指向实际的值。结合grunt任务系统自动处理数组的功能,它是非常有用的。

    grunt.config.getRaw

    从项目的grunt配置数据中获取一个原始值,而不是经过处理的<% %>模板字符串。如果指定了prop,返回该属性的值,或者如果该属性没有定义则返回null。如果没有指定prop属性,则返回一个完成的配置对象副本。

    1. grunt.config.getRaw([prop])

    grunt.config.set

    在项目的Grunt配置中设置一个值。

    1. grunt.config.set(prop, value)

    注意任何指定在<% %>模板字符串都只会在检索配置数据时处理。

    grunt.config.escape

    忽略给定的propString中的.点号。这个方法这应该用于处理包含点号的属性名的情况。

    1. grunt.config.escape(propString);

    载入配置数据

    注意下面列出的方法在任务内部的this对象中就是this.requiresConfig

    grunt.config.requires ☆

    如果省略一个或者多个项目所需的配置属性, 或者属性值为null或者undefined当前任务就会失败。 可以指定一个或者多个字符串或者数组形式的配置属性。

    1. grunt.config.requires(prop [, prop [, …]])

    这个方法就是任务内部的this.requiresConfig