3

NPM パッケージを使用してハンドルバー テンプレートをコンパイルするときに生成される名前/インデックスを手動で構成することは可能ですか?

さまざまなコンテキスト (Rails、NodeJS、PHP) でハンドルバーを使用しましたが、生成されたテンプレート名がファイルのベース名である場合と、ファイルへのフル パスである場合があることに気付きました。

たとえば、実行handlebars app/templates/*.hbs -n HandlebarsTemplates -e hbsすると次のような名前になります。

HandlebarsTemplates["my_template"]

しかし、他の場所では、次のことも見ました。

HandlebarsTemplates["app/templates/my_template"]

handlebarsこれを制御するスクリプトに渡すことができるオプションが見つかりませんでした。

これは設定可能な動作ですか?それとも、純粋な JS でのコンパイル (呼び出しHandlebars.compile(source)) と CLI ツールの使用との間の不一致ですか?

これらの命名スタイルのどれが、ハンドルバーを使用するための推奨されるベスト プラクティスに近いかを知ることも興味深いでしょう.

4

1 に答える 1

2

これはドキュメントからは明らかではありませんが、実装を詳しく見てみると、空の--root引数を渡すことでテンプレートのパス/名前を切り替えることができることがわかりました。

デフォルトでは、スクリプトは を呼び出しbasename()、コンパイルすると次のようになりmy_templateます。

 handlebars app/templates/my_template.hbs -e hbs

一方、空の引数を渡すと--rootパスの変換が回避されるため、次のコマンドは次のようにコンパイルされapp/templates/my_templateます。

handlebars app/templates/my_template.hbs -e hbs -r
于 2013-09-23T03:34:20.343 に答える