1.直接渲染
http模块写法
const http = require('http'); const ejs = require('ejs'); var server = http.createServer(function (req, res) { console.log("req",req.url); if (req.url == "/") { var obj = { name: "yzs", skill: '活到老,学到老' }; ejs.renderFile(__dirname +"/public/index.html", obj, function (err,data) { res.end(data) }) } else { res.end("not found") } }) server.listen(6678,function(){ console.log("服务器 6678--已启动") })
express模块写法
const express = require('express'); var app = express(); const ejs = require('ejs'); app.get('/', (req, res) => { var obj = { name: "全栈", skill: 44 }; // 注意这个路径 跟着 目录 ejs.renderFile(__dirname + "/public/index.html", obj, function (err, data) { // console.log("data",data); res.end(data) }) }) app.listen(6678, function () { console.log("服务器 6678--已启动") })
2.ejs 模板配置
直接渲染简单粗暴,但实际开发中还是模板用的多
模板存放路径
app.set("views","模板文件存放路径")
可以理解为key value ,前面
key
是express
定好的
views
不要拼写错误更多模板配置点击下方
//value 路径自己定义 app.set("views", __dirname +"/view")
模板引擎
使用哪个模板引擎,默认是jade
ejs Haml、CoffeScript和jQuerytemplate等js模板
app.set("view engine","模板引擎的名称")
view engine
不要拼写错误
app.set("view engine", "ejs")
3. 渲染
res.render(模板名,数据)
view目录下 模板的名字 不要加后缀
app.get("/", function (req, res) { res.render("index",{ name:"yzs", age:30, description:"分享不易,多多支持" }) })
4. html模板随意转换
app.engine(".html",require("ejs").__express)
// 指令模板目录 app.set("views",__dirname + "/view") //设置ejs渲染 html app.engine("html",require("ejs").__express) app.set("view engine", 'html')