MeteorJS アプリケーションからメールを送信する必要があり、 「html-in-js」のものではなく、html テンプレートを使用してメールを生成したいと考えています。
私がやろうとしたこと:
1) を使用Template.emailTemplate(data)
しますが、Template
サーバー側で定義されていません。
2) 電子メール テンプレートを*.html
ファイルとして<app>/server/email/templates
ディレクトリの下に保存し、それらのコンテンツを使用して取得し、fs.readSync()
流星の組み込みhandlebars
パッケージを使用してコンパイル/レンダリングします。これは開発環境では正常に機能しますが、ディレクトリの下のファイルがバンドルされていない
ため、バンドルされたアプリを使用する本番環境では失敗します。また、バンドル処理中にディレクトリの構造が変更され、テンプレートへの相対パスが無効になります。
3) あなたの提案は? =) *.html
server
質問する
2285 次
3 に答える
14
現在、テンプレートはサーバー側でサポートされていません。その機能が来ています。それまでの間、サーバー上でハンドルバーを使用できるようにする、handlebars-server という便利なパッケージを作成しました。パッケージを大気とともに使用するか、プロジェクト ディレクトリをパッケージ フォルダーにコピーして使用できます。次に例を示します。
例:
私の電子メール.handlebars
Hello, {{name}}
サーバー.js
Email.send({
html: Handlebars.templates['my-email']({ name: 'Chris' })
});
ノート
ハンドルバー ファイルにテンプレートがありません。html と Handlebars 式を配置するだけです。ファイルは関数にコンパイルされ、Handlebars.templates オブジェクトのプロパティに割り当てられます。プロパティ名は、ファイルの名前からハンドルバーの拡張子を引いたものになります。
ギットハブ
于 2013-05-14T22:28:56.713 に答える