HTML是静态页面 不会自动跟随服务器中数据的变化而变化。因此希望可以做到在网页中嵌入变量。即HTML模板。在node中 存在很多模板引擎,较长使用ejs。
ejs使用步骤
1.按照ejs yarn add ejs
2.配置express的模板引擎为ejs
app.set("view engine","ejs")
3.配置模板路径
app.set("views",path.resolve(__dirname,"views"))
注意 模板引擎需要被express渲染后才能使用
render方法用来渲染一个模板引擎,并将其返回给浏览器。render将ejs文件转换成网页展现给用户。可以将一个对象作为render的第二个参数传递 这样在模板中就可以访问到。
res.render("students", {name:"sunwukong",age:18})
//使用<%= %>在ejs中输出内容时,会自动对字符串中的特殊符号进行转义,可以将render传递进来的数据直接在网页中显示出来
//该设计主要是为了避免xss攻击 跨站脚本攻击
//<%- %> 原样输出
//<% %> 可以在其中直接编写js代码,js代码会在服务器中执行
<% if(name === "xxx"){%>
<h2>。。。</h2>
<%}else{%>
<h2>。。。</h2>
<%}%>