私はnode.js初心者です。実行時に静的なスニペットやサーバーで調理されたデータから、サーバーデータを使用するコントロールブロックを使用して動的なjs出力を生成する必要があります。 DOT NETではこれを実現するためにT4を使用しましたが、すべてのnode.jsテンプレートエンジンがHTMLを生成する方法しか知りません。 node.jsに相当するT4はありますか? HTMLではなく、サーバーコントロールブロックを使用するプレーンテキストを出力できるものはありますか?T4相当のnode.js
答えて
NodeJSで同じことができるかどうかはわかりません(私はノーだと思います)。
サーバーとクライアントを使用して作業することができます。 静的テンプレートをクライアントとデータに別々に返し、クライアントに参加させることができます。次に、ビュー(何らかのデータ)で何かを変更する必要があるときは、ディナミックデータと静的テンプレートを使用して再度生成することができます(または単にjQueryのようなライブラリを使用してDOMを編集します)。
Moustache.jsのようなクライアントテンプレートエンジンで行うことができます。
私の答えがあなたに役立つことを願っています!
私の説明は十分に明白ではなかったと思います。私の動的js出力は、マークアップに束縛されていない第三者コンポーネントです。それは調理されて封印されたCDNサーバーに配信され、キャッシュされます。クライアントは最終製品を受け取るので、口の中には余裕がない。 – Dondey
したがって、入力を受け入れ、JavaScriptファイルを生成するオフラインプログラムを作成する必要がありますか? mustache.jsのようなテンプレート言語は、依然として正しい解決策です。あなたはプログラム内の便利な文字列レンダリングのためにそれを純粋に使用します。あなたがJavascriptファイルを生成しているという事実は重要ではありません。 – ArthurDenture
ほとんどのテンプレートエンジンは、HTMLを生成するのと同じくらい簡単にJavascriptを生成できます。しかし、ほとんどの場合、動的にJavascriptを生成しないほうがよいです。代わりに、レンダリングされたhtmlに埋め込まれたJSONオブジェクトなど、動的に生成されたデータによって制御される静的なJavaScriptを使用します。
- 安全性:
これは、いくつかの利点があります。誤って無効なJavaScriptを生成したり、悪いことに、XSS攻撃につながるようにユーザー生成のコンテンツを誤ってスクリプトに埋め込む可能性は低くなります。
- 速度。静的コンテンツと動的コンテンツを分離した状態に保ちたい静的コンテンツは、静的コンテンツの配信用に最適化された別のドメインでホストされているJavascriptのコンパイル済みバンドルでも、動的コンテンツはnode.jsサーバーによって生成される比較的小さなファイルでもかまいません。
iblancasaの答えに私のコメントを見てください。私はHTMLをレンダリングしていないし、サードパーティのコンポーネントを提供しているので、クライアント上で何が起こるかについての制御や知識がない。 – Dondey
多分、Powershellは.netに特有ではないので、nodejsに使うことができますか? https://danielbrannstrom.wordpress.com/2012/01/18/powershell-as-a-t4-text-template-alternative/
- 1. Node.jsのHash_hmac相当のファイル
- 2. JQuery相当のNode.jsステップ/非同期モジュール
- 3. Node.jsのsocket.ioに相当するRubyとは何ですか?
- 4. Node.jsに相当する.NETがありますか?
- 5. node.jsに相当するdojo.hitchはありますか?
- 6. .net出力キャッシュはnode.jsに相当しますか?
- 7. 相当
- 8. IsFinite()相当の
- 9. 相当のスコープ?
- 10. Golang requirements.txt相当の
- 11. OCaml相当のタイプ
- 12. パブリックメソッドの__call相当
- 13. CDC DrawDragRect相当の
- 14. propel相当の "exists"
- 15. ieee_exceptionsのGFortran相当
- 16. フレット相当のlet *?
- 17. XkbSetDetectableAutoRepeatのXCB相当
- 18. Pygame相当のRuby?
- 19. VBAのIFDEF相当
- 20. WPF相当のマージントップ?
- 21. angular2相当のangular.isArray
- 22. System.Windows.Controls.Expander MFC相当の
- 23. SslStream相当のTcpClient.Available?
- 24. Noobslide相当のjQuery
- 25. httplib相当のC
- 26. ldd相当のアンドロイド
- 27. フレンドのHTML相当
- 28. Perl相当のPHP_AUTH_PW
- 29. timespec相当のウィンドウ
- 30. java相当のswfobject
テンプレートエンジンは、1種類のファイルにバインドされていません。クイック検索で私は[ひげache](https://github.com/janl/mustache.js)(可変置換のみ)と[nunjucks](https://mozilla.github.io/nunjucks/)(ロジックブロック、継承といくつかの他のクールなもの)。 – Shanoor
@ShanShan、私はあなたのコメントが完全に正しいとは思わないと思います。例えば、node-bladeやjamやhaml-coffeeのようなhaml.jsベースのモジュールです。彼らはhtml生成のためにhtmlディレクティブを解析する方法を明示的に知っています。まだテストはしていませんが、コード例を見てみると、nunjucks、swig、おそらくejsやハンドルバーのように見えます。 – Dondey
なぜ私の質問が保留になったのか分かりません。私は、どのモジュールがより大きく、より優れているかについての意見を求めていません。私は実際にどのモジュールが最初に私の要件を満たすのに適した設備を持っているかを尋ねています。 – Dondey