訪問定義在Gruntfile中項目特定的配置數(shù)據。
注意任何使用?(unicode形式的雪人)標記的方法直接用在grunt
對象上都是有效的,任何在任務內部使用☆(白色星星)標記的方法用this
訪問也是有效的。你只需要知道這些就行。
注意下面的方法在grunt
對象上如同在grunt.initConfig
中都是可用的。
為當前項目初始化一個配置對象。指定的configObject
可以在任務中使用,并且可以使用grunt.config
來訪問。幾乎每個項目的Gruntfile都會調用這個方法。
grunt.config.init(configObject)
注意任何指定在<% %>
中模板字符串在配置數(shù)據檢索完成之后都會被處理。
這里有一個例子包含了grunt-contrib-jshint插件的jshint
任務中的簡單的配置數(shù)據。
grunt.config.init({
jshint: {
all: ['lin/*.js', 'test/*.js', 'Gruntfile.js']
}
});
查看新手入門指南可以看到更多的配置相關的例子。
這個方法還可以作為grunt.initConfig
來使用。
下面的方法允許通過點號分割的字符串--像pkg.author.name
或者通過屬性名數(shù)組--像['pkg','author', 'name']
來訪問Grunt配置數(shù)據。
注意如果指定的屬性名中包含一個.
(點號),就須使用一個斜線字符進行轉義。例如: concat.dist/built\\.js
。如果指定了一個數(shù)組部分,grunt將使用grunt.config.escape
方法在內部進行轉義處理。
從項目的Grunt配置中獲取或者設置一個值。這個方法時其他兩個具體方法的別名;如果傳遞兩個參數(shù),則grunt.config.set
被調用,否則調用grunt.config.get
。
grunt.config([prop [, value]]);
從項目的grunt配置中獲取一個值。如果指定prop
,則返回該屬性的值;如果沒有定義該屬性則返回null
。如果沒有指定prop
,則返回一個完整的配置對象副本。模板字符串將使用grunt.config.process
方法以遞歸的方式處理。
grunt.config.get([prop]);
處理一個值,當遇到這種情況時,它會在Grunt配置上下文環(huán)境中以遞歸方式展開<% %>
模板(通過grunt.template.process
方法實現(xiàn))。這個方法會通過grunt.config.get
來自動調用而不是grunt.config.getRow
方法。
grunt.config.process(value);
如果檢索到任意的獨立的'<%= foo %>'
或者'<%= foo.bar %>'
模板字符串,并且其中所指定的foo
或者foo.bar
屬性是一個非字符串值(不是null
或者undefined
),它會指向實際的值。結合grunt任務系統(tǒng)自動處理數(shù)組的功能,它是非常有用的。
從項目的grunt配置數(shù)據中獲取一個原始值,而不是經過處理的<% %>
模板字符串。如果指定了prop
,返回該屬性的值,或者如果該屬性沒有定義則返回null
。如果沒有指定prop
屬性,則返回一個完成的配置對象副本。
grunt.config.getRaw([prop])
在項目的Grunt配置中設置一個值。
grunt.config.set(prop, value)
注意任何指定在<% %>
模板字符串都只會在檢索配置數(shù)據時處理。
忽略給定的propString
中的.
點號。這個方法這應該用于處理包含點號的屬性名的情況。
grunt.config.escape(propString);
注意下面列出的方法在任務內部的this
對象中就是this.requiresConfig
。
如果省略一個或者多個項目所需的配置屬性, 或者屬性值為null
或者undefined
當前任務就會失敗。 可以指定一個或者多個字符串或者數(shù)組形式的配置屬性。
grunt.config.requires(prop [, prop [, …]])
這個方法就是任務內部的this.requiresConfig
。