5

JSP ページを生成しようとしていますが、JSP で使用されるテンプレート区切り文字はアンダースコアで使用されるものと同じであるためです。

ドキュメントを見る --> https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-setDelimitersそのための機能があることがわかります

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

2 つの質問:

  1. その関数をどこで呼び出すでしょうか?
  2. 区切り記号のみを変更できますかgrunt.template.process()(複数あり、他の非 .jsp テンプレートの場合、デフォルトの区切り記号で問題ありません) ?

どんな助けでも大歓迎です。ありがとう。

4

2 に答える 2

8

grunt.template.processのドキュメントから:

デフォルトのテンプレート区切り文字は <% %> ですが、options.delimiters がカスタム区切り文字名に設定されている場合は、それらのテンプレート区切り文字が代わりに使用されます。

これは基本的に、前に追加した区切り文字の名前で grunt.template.process を呼び出すことができることを意味します。

たとえば、角かっこを区切り文字として 1 つの処理ステップで使用したい場合は、次のようにします。

// 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 に答える