可以使用Grunt提供的模板相關(guān)函數(shù)來手動的處理模板字符串。此外,config.get方法(許多任務都有用到這個方法)可以自動解析指定在Gruntfile中作為配置數(shù)據(jù)的<% %>風格的模板字符串。
處理Lo-Dash模板字符串。template參數(shù)會以遞歸的方式進行處理,直到不再有需要處理的模板。
默認情況下數(shù)據(jù)對象就是項目完整的配置對象,但是如果設置了options.data,就會使用這個options.data中指定的數(shù)據(jù),而不會使用項目完整的配置對象。默認的模板分隔符是<% %>,但是如果將options.delimiters設置為自定義的分隔符,模板就會使用自定義的分隔符替換默認分隔符。
grunt.template.process(template [,options])
在模板內(nèi)部,grunt對象是暴露的,因此你可以這樣做<%= grunt.template.tody('yyyy') %>。注意,如果數(shù)據(jù)對象也有一個名為grunt的屬性,那么在模板里面就無法使用grunt系列的API。
這里有一個例子,Grunt會以遞歸的方式處理到baz屬性中的模板,知道不再有<% %>風格的模板需要處理。
var obj = {
foo: 'c',
bar: 'b<%= foo %>d',
baz: 'a<%= bar %>e'
};
grunt.template.process('<%= baz %>', {data: obj}) // 'abcde'
設置Lo-Dash模板分隔符為預定義的分隔符,以防你需要手動的調(diào)用grunt.util._.template方法來進行處理。默認情況下config中會使用<% %>風格的分隔符。
你或許無需使用這個方法,因為你所使用的grunt.template.process方法會在內(nèi)部使用這個方法進行處理。
grunt.template.setDelimiters(name)
給Lo-Dash模板添加一組命名分隔符。你或許無需使用這個方法,因為內(nèi)置的分割符應該足以滿足你的需求,但是你也可以隨時添加<% %>或者[% %]風格的分隔符。
grunt.template.addDelimiters(name, opener, closer)
使用dateformat庫格式化一個日期。
grunt.template.date(date, format)
這里有一個例子,指定的日期將被格式化為年-月-日的形式。
grunt.template.date(847602000000, 'yyyy-mm-dd') // '1996-11-10'
使用dateformat庫格式化當前日期。
grunt.template.today(format)
這里有一個例子,當前日期會被格式化為一個用4位數(shù)字表示年份的格式。
grunt.template.today('yyyy') //'2014'
(有人提醒我每年都更新一下日期相關(guān)的信息,因此在文檔只會出現(xiàn)當前年份的日期信息)。