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
grunt.util._.template
を手動で呼び出す必要がある場合に備えて、Lo-Dashテンプレートのデリミタを事前に定義されたセットに設定します。config
デリミタ <% %>
はデフォルトで含まれています。
grunt.template.process
メソッドは内部でこのメソッドを使用するため、このメソッドを使用する必要はほとんどありません。
grunt.template.setDelimiters(name)
grunt.template.addDelimiters
Lo-Dashテンプレートのデリミタを指定した名前に追加します。組み込みのデリミタで十分なはずなので、このメソッドを使用する必要はないでしょう。ただし、{% %}
や [% %]
スタイルのデリミタを追加することもできます。
grunt.template.setDelimiters
からデリミタにアクセスする方法なので、name
引数は一意にする必要があり、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'