在 Express 中使用模板引擎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Express 中使用模板引擎相关的知识,希望对你有一定的参考价值。

参考技术A 需要在应用中进行如下设置才能让
Express
渲染模板文件:
views,
放模板文件的目录,比如:
app.set('views',
'./views')
view
engine,
模板引擎,比如:
app.set('view
engine',
'jade')
然后安装相应的模板引擎
npm
软件包。
$
npm
install
jade
--save

Express
兼容的模板引擎,比如
Jade,通过
res.render()
调用其导出方法
__express(filePath,
options,
callback)
渲染模板。
有一些模板引擎不遵循这种约定,Consolidate.js
能将
Node
中所有流行的模板引擎映射为这种约定,这样就可以和
Express
无缝衔接。
一旦
view
engine
设置成功,就不需要显式指定引擎,或者在应用中加载模板引擎模块,Express
已经在内部加载,如下所示。
app.set('view
engine',
'jade');

views
目录下生成名为
index.jade

Jade
模板文件,内容如下:
html
head
title!=
title
body
h1!=
message
然后创建一个路由渲染
index.jade
文件。如果没有设置
view
engine,您需要指明视图文件的后缀,否则就会遗漏它。
app.get('/',
function
(req,
res)

res.render('index',

title:
'Hey',
message:
'Hello
there!');
);
此时向主页发送请求,“index.jade”
会被渲染为
HTML。

在Express中配置使用art-template模板引擎

先安装需要使用的包

cnpm install --save art-template
cnpm install --save express-art-template

配置(官网案例)

 var express = require(‘express‘)
var express = require(‘express‘);
var app = express();
//配置使用art-template模板引擎
//第一个参数表示,当渲染以 .art 结尾时使用art-template模板引擎
//express-art-templet依赖于art-template 虽然不需要导入,但是必须安装art-template app.engine(
‘html‘, require(‘express-art-template‘)); app.set(‘view options‘, { debug: process.env.NODE_ENV !== ‘production‘ }); app.get(‘/‘, function (req, res) {
//express为response对象提供了一个render方法
//render方法默认是不可用的,需要使用的话必须配置模板引擎
//参数1:模板名 参数2:模板数据
//第一个参数不能学路径,默认去项目中的views目录中去找该模板文件
//如果想要修改默认的views目录 可以 app.set(‘views‘,render函数的默认路径)
//比如 app.set(‘views‘,‘public‘)那就会去public目录项去找模板文件 res.render(
‘index.html‘, { user: { name: ‘aui‘, tags: [‘art‘, ‘template‘, ‘nodejs‘] } }); });

这是我的404.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>{{user.name}}</title>
</head>
<body>
  <h1>抱歉!  您访问的页面失联啦...</h1>
  <div>
    <h1>{{user.name}}</h1>
    <h1>
      {{echo user.tags}}
        <h2>{{ $value }}</h2>
    </h1>
  </div>
</body>
</html>

 

显示结果为

抱歉! 您访问的页面失联啦...
express整合art-template
art,template,nodejs

 

以上是关于在 Express 中使用模板引擎的主要内容,如果未能解决你的问题,请参考以下文章

如何在express使用doT模板引擎

Jade(Pug) 模板引擎使用文档

express 4.x 模板引擎与express.static

在Express中配置使用art-template模板引擎

nodejs学习 ---- express中使用模板引擎jade

在express站点中使用ejs模板引擎