私はノードにビルドスクリプトを書いています。一言で言えば、スクリプトは次のようん:handlebars.jsの式がありませんか?
- は、情報をユーザー(などのプロジェクト名、説明、)
- クローンテンプレートgitのレポ
- を促し例えばcom_foo_template(そのテンプレート名からファイルの名前を変更します。 JS - > com_foo_myproject.js)
- 私はトークンの交換ステップにHandlebars.jsを使用しようとしています
ステップ1で入力に基づいて、いくつかのテンプレートファイル内のトークンを置き換えます。
デプロイメントの第2段階があります。これにはトークンの置換も含まれます。これは私の質問の根源です。
一部のファイルでは、内部に含まれるすべてのトークンがinit-time中に置き換えられます(clone/rename/replace部分)。他のファイルでは、これらのトークンの一部のみがinit時に置き換えられ、他のものはデプロイメントステップが実行されるまで(デプロイメント日付、gitコミットハッシュなど)置換されません。次のファイルを考えてみましょう:
<zimletConfig name="{{name}}" version="{{deploy_version}}">
<global>
<property name="allowedDomains">*.foo.com</property>
<property name="gitCommit">{{gitcommit}}</property>
<property name="deployDate">{{deploydate}}</property>
</global>
</zimletConfig>
このファイルでは、{{name}}のみをinit-timeで置き換える必要があります。他のトークンは展開時にのみ置き換える必要があります。
<zimletConfig name="com_foo_myproject" version="">
<global>
<property name="allowedDomains">*.foo.com</property>
<property name="gitCommit"></property>
<property name="deployDate"></property>
</global>
</zimletConfig>
、彼らが渡されたオブジェクトに存在しない場合は、トークンを置き換えるものではありませハンドルを持ってする方法はあります:私は私の初期化ステップを実行すると、しかし、デプロイ時のトークンは空の文字列に置き換えていますか?