注册ejs模板为html页。以.ejs为后缀的模板页,现在的后缀名可以是.html
app.engine('.html', require('ejs').__express);
设置视图模板的默认后缀名为.html,避免了每次res.Render(“xx.html”)的尴尬
app.set('view engine', 'html');
设置模板文件文件夹
app.set('views', __dirname + '/views');
app.js
const express=require("express");
const ejs=require("ejs");
const app=express();
// 设置静态资源目录
app.use('/public',express.static(__dirname+"/static"));
// 设置express框架使用ejs模板引擎
// 修改ejs模板后缀为html
app.engine(".html",ejs.__express);
// 设置views文件为模板引擎的目录
app.set('view engine','html');
// 设置模板引擎的目录
app.set("views",__dirname+"/view");
let port=8080;
let host="localhost";
let router=require('./router/routes');
// 应用级中间件
app.use((req,res,next)=>{
// 设置响应头
// res.setHeader();
next();
})
// 路由使用
app.use(router);
// 错误中间件
app.use((error,req,res,next)=>{
console.log(err.stack);
res.status(500).send("报错");
});
app.listen(port,host,()=>{
console.log(`http://${host}:${port}`);
})
routes.js
const express=require("express");
const router=express.Router();
const ejs=require("ejs");
router.get("/",(req,res)=>{
ejs.renderFile("view/index.html",{list:[1,2,3]},(err,html)=>{
if(err)
throw err;
res.send(html);
});
});
module.exports=router;
index.html
<% for(var i=0;i<list.length;i++){%>
<h4><%=list[i]%></h4>
<%}%>
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。