安装
cnpm i art-template -S
cnpm i express-art-template -S
导入
// art-template和express-art-template不需要这样导入
var express = require('express')
配置
var app = express()
//html表示可读文件的后缀名
app.engine('html', require('express-art-template'))
// views默认文件夹,通过set使得默认views变成public
app.set('views', './public')
使用
app.get('/', function(req, res) {
//使用render方法渲染,需要引入express-art-template,它使得express与template兼容,且里面渲染的文件需要放在views目录下,这是一个约定
//不用路劲去找,直接写需要渲染的模板名称即可,如果views下面有文件夹则使用路径方式调用
res.render('index.html')
}).get('/admin', function(req, res) {
res.render('admin/index.html')
}).get('/public', function(req, res) {
res.render('index.html')
})
完整代码
js
// 在express中使用模板引擎需要多安装一个包 cnpm i -s express-art-template
var express = require('express')
var app = express()
//html表示文件后缀名
app.engine('html', require('express-art-template'))
// 这是更改默认文件夹,使得views变成public
app.set('views', './public')
app.get('/', function(req, res) {
//使用render方法渲染,需要引入express-art-template,它使得express与template兼容,且里面渲染的文件需要放在views目录下,这是一个约定
//不用路劲去找,直接写需要渲染的模板名称即可,如果views下面有文件夹则使用路径方式调用
res.render('index.html')
}).get('/admin', function(req, res) {
res.render('admin/index.html')
}).get('/public', function(req, res) {
res.render('index.html')
})
app.listen(3000, function() {
console.log('express app is runing...')
})
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>在express中使用art-template模板引擎</h1>
</body>
</html>
执行结果
说明
如果没有用app.set更改请求html文件路径,那么必须将html文件放在views文件夹下面.