Home >Web Front-end >JS Tutorial >Nodejs express framework uses both ejs template and jade template_node.js in one project

Nodejs express framework uses both ejs template and jade template_node.js in one project

WBOY
WBOYOriginal
2016-05-16 15:23:021961browse

In some projects, for example, if you take over someone else’s project and you don’t want to use the painful ejs, or you don’t want to use the painful jade. If you don’t want to rewrite the previous page, then you may need to introduce the ejs or jade module now. You only need to do the following two steps to complete the work of using the two templates

1.consolidate.js

cd to the project directory:

npm install consolidate --save

Open the app.js of the project (maybe yours is called another name)

Change app.js into the following code snippet

app.set('view engine', 'jade');

changed to

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'); 

Just restart the project

2. A little question

The code I actually used in one of my projects A is

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'); 

This writing method can be used in project A, but in another project B, it is found that the jade template cannot be parsed

And in project B only

can be used
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'); 

How to reference the ejs template engine in the Express framework

1. How to install the ejs template engine in the project

Use the following commands to build the basic structure of the website in the NodeJS guide:

express -t ejs microblog

Continue running after running this command

cd microblog && npm install (installation project dependency properties), found that the installed template engine is jade, not ejs. The reason is that the current version no longer has the -t command, it has been changed to

express -e microblog

After running this command, continue to run cd microblog && npm install, and the ejs template engine will be installed

But versions of express3 and above cancel layout by default, so layout.ejs is not generated in the views folder.

2. After installing ejs, how to use the ejs layout template

Install express-partials

Switch to the project directory in cmd and run npm install express-partials or

Add "express-partials": "*" to dependencies in package.json. Then run npm install in the project directory.

Then quote express-partials in app.js, quoting method:

1. Add reference var partials = require('express-partials');

2. Add app.use(partials());
below app.set('view engine', 'ejs');

Call layout:'template name' where the template needs to be referenced Example

app.get('/reg', function (req, res) {
res.render('reg', {
title: '用户注册',
layout: 'template'
}); 
}); 

The above content introduces to you the use of ejs template and jade template in a project of Nodejs express framework. I hope you like it.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn