Black Lives Matter

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'