安装
npm i art-template express express-art-template -S
配置
配置art-template 模版引擎
第一个参数,表示当以 .art 结尾的文件的时候,使用 art-template 模版引擎
第一个参数不能写路径,默认会去项目中的 views 目录查找该模版文件
也就是说 express 有一个约定:开发人员把所有的视图文件都放到 views 目录当中
express-art-template 是专门把 art-template 整合到 express 中的
虽然外面 没有导入 art-template 但也必须安装
原因在于 express-art-template 依赖了 art-template
// 当渲染后缀为art的模版时,所使用的模版引擎是什么
// art 代表读取 .art 文件 可以改成 html
app.engine("art", require("express-art-template"));
// 设置模版存放目录 第一个views参数固定的 第二个views是文件夹名称
app.set('views',path.join(__dirname,'views')
// 渲染模版时不写后缀
app.set('view engine','art')
app.get('/',(req, res)=>{
// 内部
// 拼接模版路径,
// 拼接模版后缀,
// 那个模版和那个数据进行拼接,
// 把拼接的结果响应给了客户端
res.render('index') //返回 views/index.art 文件
})
使用
// express 为 response 响应对象提供了一个方法:render
// render 方法默认是不可以使用的,但是如果配置了 express-art-template就可以使用了
// res.render("模版文件名称",{模版数据})
// 第一个参数不能写路径,默认会去项目中的 views 目录查找该模版文件
// 也就是说 express 有一个约定:开发人员把所有的视图文件都放到 views 目录当中
// 当服务器收到 get 请求 / 的时候 执行回调
app.get("/",function(req,res){
// express 会默认到 views 目录下查找 404.art
res.render('404.art',{
user:{ // 模版数据
}
})
res.end("holle express")
})
如果想要修改默认的 views 目录
// 第一个参数 views 是固定的 第二个参数指定目录
app.set("views","./common/")
app.locals
将变量设置到locals对象下面,这个数据在所有的模版中都可以获取到
app.locals.users = [{
name:"张三",
age:20
}]