ホームページ  >  記事  >  ウェブフロントエンド  >  HTMLテンプレートを使用した高速コード分析

HTMLテンプレートを使用した高速コード分析

不言
不言オリジナル
2018-06-11 17:20:061553ブラウズ

この記事では、HTML テンプレートを使用した Express の詳細なコードを主に紹介します。内容が非常に優れているので、参考として共有します。エディターをフォローして見てみましょう

express はデフォルトで jade テンプレートを使用し、ejs または html テンプレートの使用をサポートするように構成できます。

1. ejsをインストールします

ejsをプロジェクトのルートディレクトリにインストールします

npm install ejs

2. ejsを導入します

var ejs = require('ejs'); //我是新引入的ejs插件

ビューエンジンを設定します

app.engine('html', ejs.__express);
その後のサービス保存するとhtmlファイルにアクセスできるようになります。

注: Express によって構築されたサーバーでは、HTML エンジンは構成されていません。ビュー エンジンが構成されているので、HTML エンジンを直接追加するだけです。構成を変更するだけです。

------------------------------------------------ ----------------------------------------

これらを変更して何をしましたか設定?

ビュー エンジンを変更した後、HTML エンジンに設定を追加する必要があるのはなぜですか?

まず .engine() メソッドを見てみましょう。

app.set('view engine', 'html');
Express はデフォルトで jade テンプレートを使用します。 「foo.jade」ファイルをロードしようとすると、Express は内部的に次の操作を呼び出します。

app.engine(ext, callback);

EJS テンプレートを「.html」ファイルにマッピングするなど、他のテンプレート エンジンを使用したい場合:

app.engine('jade', require('jade').__express);

このコード行では、EJS の .renderFile() メソッドが実際に呼び出されます。 EJS のメソッド 内部の別名。

読み込まれたテンプレートエンジンは同じメソッド.__expressを呼び出すため、ejsテンプレートを使用している場合はこの項目を設定する必要はありません。

概要: HTMLテンプレートを使用する場合、app.engine('html', require('ejs').__express);を追加する必要があります。

EJSテンプレートを使用する場合、この項目を設定する必要はありません。

この時点で、views フォルダーにindex.html ファイルまたはindex.ejs ファイルを作成すると、デフォルトのindex.jade ファイルが引き続きアクセスされます。どうしてこれなの?ここで話したいのは、.set( ) メソッド このうち 1 つの項目は「ビュー エンジン」です。これは、ファイル テンプレートの形式が指定されていない場合にデフォルトで使用されるエンジン プラグインを示します。これをhtmlファイルに設定すると、ファイルを指定するルートを設定する際にファイル名を記述するだけで、該当するhtmlファイルが検索されます。この時点で、私の想像力は大きく広がり、ビュー内に test.jade、test.ejs、test.html という 3 つのファイルを作成してみました。ルーティング設定は以下の通りです。アクセスは普通です!各ルートは対応するファイルを指します。もちろん、この書き方は全く推奨されませんし、現実にも合致しません。

app.engine('html', require('ejs').__express);

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

HTML で Requirejs を使用したモジュール開発の分析

以上がHTMLテンプレートを使用した高速コード分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。