ホームページ > ウェブフロントエンド > jsチュートリアル > Nodejs Express フレームワークは、1 つのプロジェクトで ejs テンプレートと jade template_node.js の両方を使用します

Nodejs Express フレームワークは、1 つのプロジェクトで ejs テンプレートと jade template_node.js の両方を使用します

WBOY
リリース: 2016-05-16 15:23:02
オリジナル
1950 人が閲覧しました

一部のプロジェクトでは、たとえば、他の人のプロジェクトを引き継ぎ、痛みを伴う ejs を使用したくない場合や、痛みを伴う jade を使用したくない場合があります。前のページを書き直したくない場合は、ここで ejs または jade モジュールを導入する必要がある場合があります。2 つのテンプレートを使用する作業を完了するには、次の 2 つの手順を実行するだけです。

1.consolidate.js

プロジェクト ディレクトリに移動します:

npm install consolidate --save

プロジェクトの app.js を開きます (おそらく別の名前が付けられています)

app.js を次のコード スニペットに変更します

app.set('ビューエンジン', 'jade');


に変更されました

var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// or use these
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade'); 
ログイン後にコピー

プロジェクトを再起動するだけです

2. ちょっとした質問

私のプロジェクト A の 1 つで実際に使用したコードは

です
var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);
app.set('view engine', 'jade');
//多出以下一行
app.set('view engine', 'html'); 
ログイン後にコピー

この書き方はプロジェクトAでは使えますが、別のプロジェクトBではjadeテンプレートが解析できないことが分かります

プロジェクト B では

のみが使用できます
var engines = require('consolidate');
app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
app.set('view engine', 'jade');
//或者
//app.engine('jade', require('jade').__express);
//app.engine('html', require('ejs').renderFile);
//app.set('view engine', 'jade'); 
ログイン後にコピー

Express フレームワークで ejs テンプレート エンジンを参照する方法

1. プロジェクトに ejs テンプレート エンジンをインストールする方法

次のコマンドを使用して、NodeJS ガイドの Web サイトの基本構造を構築します。

express -t ejs マイクロブログ

このコマンドの実行後も実行を継続します

cd microblog && npm install (インストール プロジェクトの依存関係プロパティ) で、インストールされているテンプレート エンジンが ejs ではなく jade であることがわかりました。その理由は、現在のバージョンには -t コマンドがなくなり、
に変更されたためです。

express -e マイクロブログ

このコマンドを実行した後、引き続き cd microblog && npm install を実行すると、ejs テンプレート エンジンがインストールされます

ただし、express3 以降のバージョンではデフォルトでレイアウトがキャンセルされるため、views フォルダーにlayout.ejs は生成されません。

2. ejs のインストール後、ejs レイアウト テンプレートの使用方法

express-partials をインストールします

cmd でプロジェクト ディレクトリに切り替え、npm install Express-partials または
を実行します。

package.json の依存関係に "express-partials": "*" を追加します。次に、プロジェクト ディレクトリで npm install を実行します。

次に、app.js で Express-partials を引用符で囲み、メソッドを引用します:

1. 参照 varpartials = require('express-partials');
を追加します。

2. app.set('view Engine', 'ejs'); の下に app.use(partials());
を追加します。

テンプレートを参照する必要があるレイアウト:'テンプレート名' の呼び出し例

app.get('/reg', function (req, res) {
res.render('reg', {
title: '用户注册',
layout: 'template'
}); 
}); 
ログイン後にコピー

上記の内容は、Nodejs Express フレームワークのプロジェクトでの ejs テンプレートと jade テンプレートの使用方法を紹介しています。気に入っていただければ幸いです。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート