grunt.config - acecode/grunt GitHub Wiki

访问在Gruntfile中定义的项目相关的配置数据

请注意标注了☃(unicode雪人)的方法可以直接从grunt对象访问,标注了☆(白星)的方法可以在任务中通过this访问,

初始化配置信息 Initializing Config Data

注意这个方法也可以通过grunt对象的grunt.initConfig调用

grunt.config.init ☃

用当前对象初始化一个配置对象,这个配置对象configObject会被任务使用,也可以通过grunt.config来操作。基本上每个项目的gruntfile都会调用这个方法。

grunt.config.init(configObject)

注意任何配置项中类似<% %>的模板字符串只会在检索时被解析

这个例子是grunt-contrib-jshint 插件jshint任务的相关配置:

grunt.config.init({
  jshint: {
    all: ['lib/*.js', 'test/*.js', 'Gruntfile.js']
  }
});

查看 基础入门 指导以查看更多配置实例.

这个方法也可以通过grunt.initConfig调用.

读取配置信息 Accessing Config Data

以下方法都用来操作配置数据,参数形式可以是类似'pkg.author.name'点分隔的字符串,或是像['pkg', 'author', 'name']这样的参数名数组

注意如果参数名中含有点., 必须加入转义斜线,比如'concat.dist/built\\.js'。如果是数组形式给出的,grunt会在内部用grunt.config.escape处理

grunt.config

取出或者设置项目的grunt配置。这个方法是其他方法的别名;如果提供两个参数,实际调用grunt.config.set,否则调用grunt.config.get

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

grunt.config.get

取得项目的grunt配置。如果给定prop,对应的属性值会被返回,或者用null来代表未定义的属性;如果没给出prop,将返回整个配置对象的副本。模板字符串将被grunt.config.process方法递归处理。

grunt.config.get([prop])

grunt.config.process

遇到类似<% %>的模板会在配置对象上递归展开(运用grunt.tempPlate.process方法),返回最终结果。grunt.config.get自动使用本方法,但grunt.config.getRaw不做这种处理。

grunt.config.process(value)

如果任何递归时遇到简单的模板字符串,类似'<%= foo %>' 或者 '<%= foo.bar %>',而对应的foofoo.bar属性不是字符串(也不是null 或者 undefined),将展开成实际值。这个特性与grunt的任务系统自动降维数组配合是很有用的

grunt.config.getRaw

从项目的grunt配置中读取原始属性值,不处理类似<% %>的模板字符串。如果给定prop,对应的属性值会被返回,或者用null来代表未定义的属性;如果没给出prop,将返回整个配置对象的副本。

grunt.config.getRaw([prop])

grunt.config.set

设置一个grunt配置项

grunt.config.set(prop, value)

注意任何类似<% %>的模板字符串只在检索配置数据时被处理

grunt.config.escape

编码给出的propString中的点.。应该在属性名含有点时使用这个函数

grunt.config.escape(propString)

依赖配置数据 Requiring Config Data

注意下面列出的方法也可以在任务中通过this对象的this.requiresConfig来调用。

grunt.config.requires ☆

如果依赖的一个或多个配置项不存在,为nullundefined,将直接导致任务失败。依赖的配置项参数可以通过给出单个或多个字符串,或是数组来给出

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

这个方法也可以在任务中通过this.requiresConfig来调用

⚠️ **GitHub.com Fallback** ⚠️