可以手工調用模板函數處理模版字符串。另外,config.get 方法(被很多任務所使用)會自動解析 <% %>
類型的模版字符串,此類型的模版字符串是在 Gruntfile
中指的配置數據中定義的。
處理一個 Lo-Dash 模版 字符串。template
參數將被遞歸處理,知道沒有任何模版位置。
默認的數據對象是整個配置對象,但是,如果設置了options.data
,則使用該對象。默認的模板分隔符是<% %>
,但是,如果options.delimiters
被設置為自定義的形式(通過grunt.template.addDelimiters
進行設置),那么后續(xù)就會使用此模板分隔符。
grunt.template.process(template [, options])
在模板內部暴露了grunt
對象,因此你可以這樣做<%= grunt.template.tody('yyyy') %>
。注意, 如果數據對象已經有了grunt
屬性,那么在模板內部將無法訪問grunt
API。
在下面這個案例中,baz
屬性被遞歸處理,直到再也沒有多余的 <% %>
模版需要處理。
var obj = {
foo: 'c',
bar: 'b<%= foo %>d',
baz: 'a<%= bar %>e'
};
grunt.template.process('<%= baz %>', {data: obj}) // 'abcde'
設置Lo-Dash模板的分隔符為預定義的形式,以防需要手動調用grunt.util._.template
。config
分隔符默認是<% %>
。
你可能永遠不會使用這個方法,因為你所使用的 grunt.template.process
在內部使用的就是這個方法。
grunt.template.setDelimiters(name)
為Lo-Dash模板添加一個命名分隔符。你或許不需要使用這個方法,因為內置的分割符應該足以滿足需求了,但是你仍可以隨時添加{% %}
或者[% %]
風格的分隔符。
name
參數應當是唯一的,因為這也是我們通過 grunt.template.setDelimiters
獲取分隔符的方式,并且后續(xù)作為 grunt.template.process
的一個選項來使用。
grunt.template.addDelimiters(name, opener, closer)
在此實例中,如果我們希望使用 {% %}
形式的分隔符,我們需要如下這樣設置:
grunt.template.addDelimiters('myDelimiters', '{%', '%}')
使用dateformat library格式化一個日期。
grunt.template.date(date, format)
在這個案例中,指定的日期被格式化為 month/day/year。
grunt.template.date(847602000000, 'yyyy-mm-dd') // '1996-11-10'
使用 dateformat library格式化當前日期。
grunt.template.today(format)
在這個案例中,當前日期被格式化為4位數字表示的年份。
grunt.template.today('yyyy') // '2014'
更多建議: