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