2017-03-02 6 views
0

私はNode.jsを初めて使用しています。私はHTML構文(HTML要素の中にタグを持つ)に従わないPug(旧Jade)のようなテンプレートの背後にある理由を疑問に思っています。私にとっては、これは追加のステップであるように見えます。誰かが助けてくれる理由があるのでしょうか、何かが欠けていますか?なぜPugや他のテンプレートがHTMLタグに従わないのですか

+0

タイピングが少ないので、正確にはなぜjsonとyamlがあるのでしょうか。あまりにも広範かつオフトピックとして閉鎖に投票した。 – shabunc

+2

これはNode.jsに特有の問題ではありません。 Jade/PugはRubyのテンプレートエンジン[Haml](http://haml.info/)の足跡をたどっており、 "従来の"埋め込み[JavaScriptのテンプレートエンジン](https://garann.github。 io/template-chooser /)。 –

答えて

0

なぜテンプレートエンジンですか?

ビューの作業を適切に分離する。複雑なコードをテンプレートに挿入するのを「制限」するので、クリーンなテンプレートを保持するのに役立ちます。 iterotors、mixins、変数、レイアウトの拡張などを簡単に行うことができます。これにより、ビューの技術的でなくコントローラの作業から独立したものになります。 Thの目的は、データ入力に応答するテンプレートを持つことです。バックエンドで呼び出されるメソッドを気にせずにテンプレートを編集するフロントエンド開発者にとって、人生はとても簡単です。

なぜ言語はインデントで構造化されていますか?

なぜPug/Haml/Yaml/Slim-langまたはその言語がインデントで構成されているのですか?書き込みするコードが少なくて済むので、</a>の代わりに<a/>の一部を誤って入力しないようにします。<ab></ac>。コードの不要な文字が追加されるたびに間違いがあります。読みにくいコードは、意味がいっぱいであれば理解できるコードが少なく、主観的ですが、私たちは多くの人がpugをより明確に見いだしています。インデントによる構造体はまた、すべての人がテンプレートを適切にインデントするように強制します。

追加の手順は悪いですか?

プロダクションでは、再コンパイルされていないので、ユーザーはコンパイルされたテンプレートをレンダリングします。

+0

メモとして、私は追加します、HTMLタグはXMLタグであり、それはDOMやASTを表す非常に効率的な方法ではありません。だから、逆の質問をすることもできます:あなたはHTMLであなたのテンプレートを書くのですか? – KyleK

関連する問題