Express(二):模板引擎、路由提取

模板引擎——EJS

安装

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')
})

Express(二):模板引擎、路由提取_第1张图片

路由提取

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')
})

你可能感兴趣的:(node入门)