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