5

我正在尝试生成一个 JSP 页面,因为 JSP 使用的模板分隔符与下划线使用的模板分隔符相同。

查看文档-> https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-setDelimiters我可以看到他们有一个功能

grunt.template.addDelimiters(name, opener, closer)

两个问题:

  1. 我会在哪里调用该函数?
  2. 我可以只为 a 更改分隔符grunt.template.process()(我有多个,对于其他非 .jsp 模板,默认分隔符很好)?

任何帮助表示赞赏。谢谢。

4

2 回答 2

8

来自grunt.template.process的文档:

默认模板分隔符是 <% %> 但如果 options.delimiters 设置为自定义分隔符名称,则将使用这些模板分隔符。

这基本上意味着您可以使用您之前添加的分隔符的名称调用 grunt.template.process 。

例如,如果您想在应该完成工作的一个处理步骤中使用方括号作为分隔符:

// first add the new delimiters which you want to use
grunt.template.addDelimiters('square-brackets', '[', ']');

//  and use it
grunt.template.process(template, {delimiters: 'square-brackets'});

// and use it with the default delimiters (named 'config')
grunt.template.process(template);
于 2013-05-22T12:22:39.370 回答
2

我有完全相同的问题。JSP 使用 <%= %> 标记进行替换,grunt 也使用这些标记。添加了一行来覆盖“ https://github.com/gruntjs/grunt/blob/master/lib/grunt/template.js ”中应用的默认设置

这对我有用:

// REPLACE the default 'config' delimiters
grunt.template.addDelimiters('config', '{%', '%}');

grunt.initConfig(
    { .... });

分隔符名称“config”必须完全匹配。

于 2014-12-12T02:13:25.023 回答