2013-05-22 10 views
5

Próbuję wygenerować stronę JSP, a ponieważ ograniczniki szablonów używane przez JSP są takie same jak te używane przez podkreślenie.Gruntjs zmienia ograniczniki szablonów podkreślenia

patrząc na docs ->https://github.com/gruntjs/grunt/wiki/grunt.template#wiki-grunt-template-setDelimiters widzę mają funkcję dla tego

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

dwa pytania:

  1. Gdzie Nazwałbym tę funkcję?
  2. Czy mogę zmienić ograniczniki tylko dla grunt.template.process() (mam więcej niż jeden, a dla innych szablonów innych niż .jsp, domyślne ograniczniki są w porządku)?

Każda pomoc jest doceniana. Dzięki.

+0

Czy próbowałeś ... ucieczki od znaków, bo kiedy przetwarza tekst, to jest drukowane tak, jak chcesz? –

Odpowiedz

7

z dokumentacją grunt.template.process:

Domyślne ograniczniki szablonie <%%> ale jeśli options.delimiters jest ustawiona na niestandardowej nazwy ogranicznika, te ograniczniki szablon będzie używany zamiast .

to zasadniczo oznacza, że ​​można nazwać grunt.template.process z nazwą ogranicznika dodanego wcześniej.

np. jeśli chcesz używać kwadratowych nawiasów jako ograniczniki w jednym etapie przetwarzania, które należy wykonać zadanie:

// 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); 
+0

Czy powinienem zachować ten kod w pliku grunt.file.js lub w innym miejscu –

2

Mam dokładnie ten sam problem. JSP używa znaczników <% =%> do zamiany, które są również używane przez pomruk. Dodano linię nadpisać domyślne ustawienia stosowane w „https://github.com/gruntjs/grunt/blob/master/lib/grunt/template.js

Ten pracował dla mnie:

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

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

Nazwa separator „config” musi być identyczna.

Powiązane problemy