grunt.template
可以使用提供的模板函数手动处理模板字符串。 此外,config.get
方法(被许多任务使用)会自动展开在 Gruntfile
中指定为配置数据的 <% %>
样式模板字符串。
grunt.template.process
处理 Lo-Dash 模板 字符串。 将递归处理 template
参数,直到没有更多模板需要处理。
默认数据对象是整个配置对象,但如果设置了 options.data
,则将使用该对象。 默认模板分隔符是 <% %>
,但如果将 options.delimiters
设置为自定义分隔符名称(使用 grunt.template.addDelimiters
设置),则将使用这些模板分隔符。
grunt.template.process(template [, options])
在模板内部,公开了 grunt
对象,以便您可以执行诸如 <%= grunt.template.today('yyyy') %>
之类的操作。 请注意,如果数据对象已经具有 grunt
属性,则将无法在模板中访问 grunt
API。
在此示例中,将递归处理 baz
属性,直到没有更多 <% %>
模板需要处理。
var obj = {
foo: 'c',
bar: 'b<%= foo %>d',
baz: 'a<%= bar %>e'
};
grunt.template.process('<%= baz %>', {data: obj}) // 'abcde'
grunt.template.setDelimiters
将 Lo-Dash 模板 分隔符设置为预定义的集合,以防需要手动调用 grunt.util._.template
。 默认情况下包含 config
分隔符 <% %>
。
您可能不需要使用此方法,因为您将使用 grunt.template.process
,该方法在内部使用此方法。
grunt.template.setDelimiters(name)
grunt.template.addDelimiters
添加一组命名的 Lo-Dash 模板 分隔符。 您可能不需要使用此方法,因为内置分隔符应该足够了,但是您始终可以添加 {% %}
或 [% %]
样式的分隔符。
name
参数应该是唯一的,因为它是我们从 grunt.template.setDelimiters
访问分隔符的方式,并且是 grunt.template.process
的选项。
grunt.template.addDelimiters(name, opener, closer)
在此示例中,如果我们要使用上面提到的 {% %}
样式,则将使用以下内容
grunt.template.addDelimiters('myDelimiters', '{%', '%}')
助手
grunt.template.date
使用 dateformat 库 格式化日期。
grunt.template.date(date, format)
在此示例中,特定日期的格式为月/日/年。
grunt.template.date(847602000000, 'yyyy-mm-dd') // '1996-11-10'
grunt.template.today
使用 dateformat 库 格式化今天的日期。
grunt.template.today(format)
在此示例中,今天的日期格式化为 4 位数字的年份。
grunt.template.today('yyyy') // This returns a year in format such as '2020'