DartとMustacheでテンプレートからファイルを生成する方法

こんにちは、株式会社Pentagon代表の山本です。
https://pentagon.tokyo
当社では「アプリを駆使した事業を立ち上げたい」方のために、アプリの設計・デザイン・開発までまるっとサポートしています。
今回は、テンプレートからファイルを生成するために、Mustacheを使ってみたので、まとめておきます。
Mustacheとは、ひげ括弧で記述されたテンプレートに値を埋め込んで、ファイルを出力するためのライブラリになります。
使い方は簡単😌

import 'package:mustache/mustache.dart';

main() {
    var source = '''
      {{# names }}
           <div>{{ lastname }}, {{ firstname }}</div>
      {{/ names }}
      {{^ names }}
        <div>No names.</div>
      {{/ names }}
      {{! I am a comment. }}
    ''';

    var template = Template(source, name: 'template-filename.html');

    var output = template.renderString({'names': [
        {'firstname': 'Greg', 'lastname': 'Lowe'},
        {'firstname': 'Bob', 'lastname': 'Johnson'}
    ]});

    print(output);
}

TemplateクラスにテンプレートのString(source)とファイル名を渡してTemplateインスタンスを初期化します。
その後、renderStringによりJSONを渡せば、JSONが埋め込まれたファイルが出力されます。

{{# names }}

もしnamesが存在すれば、次の{{/ names }} までが実行されます。

 {{^ names }}

逆に、namesが存在しなければ、次の{{/ names }} までが実行されます。
その他にもLambdasやPartialを使えたりします。
詳しくは、MUSTACHE MANUALを読んでください。

採用情報はこちら
目次