安装
npm install ejs
加载
var ejs= require('ejs')
配置
//默认方式
app.set('views', __dirname + '/views');//设置视图文件的存放目录
app.use('view engine','ejs');//启动视图引擎,ejs代表视图文件类型;默认ejs.
//自定义文件类型方式
app.set('views', __dirname + '/views');//设置视图文件的存放目录
app.engine('html', ejs.__express);//设置模板的文件类型为html格式的文件
app.set('view engine', 'html');//启用自定义文件类型的模板
//tips:文件的类型可以自己设置,不一定是html。
注:
1、推荐使用自定义方式
2、文件名不要写错,是views不是view
模板语法:基本语法与jsp很像这对会jsp的就很友好了,这里说一下常用的
<% %>
:放流程语句
<%= %>
:放值或表达式
渲染语法:
response render('filename',data/object) //filename=模板文件名;
//参数二可以使一个对象或者数据变量(说白了就是要传需要渲染的数据)
实例
模板:base.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- <%= %> -->
<h1><%=title %></h1>
<!--if语句 -->
<% if(flog){ %>
<h1>if条件语句</h1>
<% } %>
<!-- for循环 -->
<h1><%= grammar%></h1>
<ul>
常用模板渲染语法:
<% for(var i=0;i<grammar.length;i++){ %>
<li><%=grammar[i] %></li>
<% } %>
</ul>
</body>
</html>
服务端:
//加载模块
var express = require('express')
var ejs = require('ejs')
//创建服务应用程序
var app = express()
app.set('views', __dirname + '/views'); //设置视图文件的存放目录
app.engine('html', ejs.__express); //设置模板的文件类型为html格式的文件
app.set('view engine', 'html'); //启用自定义文件类型的模板
var data = {
title: 'ejs模板的基本使用',
grammar: ['<% 流程语句 %>', '<%=值或表达式 %>'],
flog: true
}
app.get('/', function(req, res) {
res.render("base", data)
})
app.listen(5000, function() {
console.log('Server is running')
})
router.js
用来存放各种接口,最后统一在app.js
中加载
使用
以一个实例简单说一下
router.js
//1、加载路由要使用的模块
var express = require('express')
//2、创建一个路由容器
var router = express.Router()
//3、把使用的路由挂载到router路由容器中
router.get('/', function(req, res) {
res.send("home")
})
router.get('/login', function(req, res) {
res.send("Login")
})
//4、把router导出
module.exports = router
app.js
//加载模块
var express = require('express')
var router = require('./router.js')
//创建服务应用程序
var app = express()
//5、把路由容器挂载到app服务中
app.use(router)
app.listen(3000, function() {
console.log('Server is running')
})