npmjs地址:
github在线测试: 中文文档:
基本使用
安装 ejs 模板引擎
npm install ejs --save
js 部分
const http = require("http");const fs = require("fs");const ejs = require("ejs");// 模拟数据let info = { name : 'alex', vip : true, hobby: [ 'js', 'node', 'vue', 'ejs', 'express' ]};// 创建http服务并监听端口http.createServer((request, response, next) => { if (request.url === "/") { // fs 读文件 fs.readFile(__dirname + '/index.html', (err, data)=>{ if (err) throw err; // 渲染模板 并且给模板分配数据 let template = ejs.render(data.toString(), { title:'ejs模板引擎', user:info}); // 响应 response.end(template); }); }}).listen(3000);
ejs 模板部分
<%= title %> 姓名: <%= user.name%> <% if (user.vip) { %> vip <% } %>爱好: <% user.hobby.forEach(item=>{ %> <%= item %> <% }) %>
在 express 框架中使用 ejs 模板引擎
安装 express 框架
npm install express --save
express 中文文档:
配置 express 的模板引擎为 ejs
// 引入模块const app = require("express")();const ejs = require("ejs");// 设置模板存放的目录app.set('views', './view');// 设置模板文件的后缀app.engine('.html', ejs.__express);// 使用默认的模板引擎是可以省略// app.set('view engine', 'html');
在 express 框架中使用 ejs 模板引擎
js 部分
// 引入模块const app = require("express")();const ejs = require("ejs");// 监听端口app.listen(3000);// 设置模板存放的目录app.set('views', './view');// 设置模板文件的后缀app.engine('.html', ejs.__express);// 使用默认的模板引擎是可以省略// app.set('view engine', 'html');app.get("/", (request, response) => { // render,渲染模板 // 此时会自动到 app.set('views', './view') // 配置好的目录中去找 response.render("index.html",{ title: 'ejs template engine', user: { name: 'alex', vip : true, hobby: [ "javascript", "Java", "C", "C++" ], }, });});
模板部分
<%= title %> 姓名: <%= user.name%> <% if (user.vip) { %> vip <% } %>爱好: <% user.hobby.forEach(item=>{ %> <%= item %> <% }) %>