テンプレート エンジン
Express は多くのテンプレート エンジンをサポートしています。一般的に使用されるものは次のとおりです:
- Haml 実装Haml
- haml.js の後継であり、Express のデフォルトのテンプレート エンジンですJade
- 埋め込み JavaScript テンプレートEJS
- CoffeeScript ベースのテンプレート エンジンCoffeeKup
- jQuery テンプレート エンジン
レンダリングの表示
ビューのファイル名は、デフォルトでは「
次に、Jade エンジンを使用して、index.html をレンダリングします。layout:false を設定していないため、index.jade によってレンダリングされたコンテンツは、body ローカル変数としてlayout.jade に渡されます。 渡された (または生成された) ローカル変数が優先されますが、親ビューに渡されたローカル変数は子ビューでも使用できます。たとえば、partial('blog/post を使用してブログ投稿をレンダリングするとします。 ', post) ローカルに投稿を生成しますが、この関数を呼び出すビューにはローカル ユーザーが存在するため、ブログ/投稿ビューでも利用できます。 渡される (または生成される) ローカル変数が優先されますが、親ビューに渡されるローカル変数はサブビューでも引き続き有効です。したがって、partial('blog/post', post) を使用してブログ ログをレンダリングすると、post のローカル変数が生成されますが、この関数を呼び出すビューにはローカル ユーザーが存在し、ブログ内では引き続き有効です。 /ポストビュー。 (最初の注: この翻訳には何か問題があります。アドバイスをお願いします。) パフォーマンスのヒント: 部分コレクションを使用して長さ 100 の配列をレンダリングする場合、単純なコレクションの場合は、部分コレクションを使用する代わりにループをインライン化でき、システムを削減できます。オーバーヘッド。 ビューの検索は、親ビューに対して相対的に実行されます。たとえば、「views/user/list.jade」という名前のページ ビューがあり、このビューで部分('edit') が呼び出される場合、そのビューは、システムは「views/user/edit.jade」を検索してロードしようとしますが、partial('../messages') は「views/messages.jade」をロードします。 ビュー システムはインデックス テンプレートもサポートしているため、同じ名前のディレクトリを使用できます。たとえば、ルート内で res.render('users') を実行します。これは、「views/users.jade」または「views/users/index.jade」を指します。 上記のインデックス ビューを使用する場合、partial('users') を通じて同じ名前のディレクトリから "views/users/index.jade" を参照でき、ビュー システムは "../" を試行します。 users/index" " これにより、partial('index') を呼び出す必要性が減ります。
app.get('/', function(req, res){
res.render('index.jade', { title: 'CSSer の皆さん、Web フロントエンド テクノロジーに注目してください!' } );
}) ;
jade を使用したい場合は、それを設定できます。次のように:
app.set('view Engine ', 'jade');
したがって、次のメソッドを使用できます:
「ビュー エンジン」が設定されている場合、テンプレートの拡張名はオプションになり、複数のテンプレート エンジンを組み合わせて使用することもできます:
Express にはビュー オプション設定も用意されており、これらの設定は各ビューがレンダリングされた後に適用されます。次のように設定できます:
これらの設定は、必要に応じて、後続の res.render() 呼び出しでオーバーライドできます:
パスを指定することで、独自のレイアウトを使用してシステムのデフォルトを置き換えることができます。たとえば、「ビュー エンジン」を jade に設定し、「./views/mylayout.jade」という名前のレイアウトをカスタマイズすると、次のようになります。次のように使用します:
それ以外の場合は拡張子を指定する必要があります:
これらのパスは、
これのより良い例は、カスタム EJS テンプレートの先頭と終了タグ:
開く: '{{',
閉じる: '}}'
});
Express ビュー システムは、ミニ ビューと呼ばれ、主にドキュメント フラグメントのレンダリングに使用される部分ビューとコレクション ビューをネイティブにサポートします。たとえば、ビュー内のコメントをループする代わりに、部分コレクションを使用します。
必要ない場合は、他のオプションまたはローカル変数については、オブジェクトを省略して、単にコメント配列を渡すことができます。これは、上記の例と同じです:
ローカル コレクションを使用する場合、いくつかの「マジック」ローカル変数がサポートされます:
ルックアップの表示

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
