一、Express简介
是什么:基于nodejs开发的一个框架
好 处:加快项目开发,便于团队协作
二、使用(初体验)
步骤1:创建day24_express开发目录
步骤2:安装express框架
1
2
3npm init -y
npm install express
步骤3:使用
1 | //1.引入express框架模块 |
三、使用(配置模板引擎)
说 明:默认通过公end或send渲染,无法加载视图,所以得自己配置默认模板引擎官方以前推荐用jade现在升级为pug也有用ejs个人推荐art模板引擎。
步骤1:安装art-template模板引擎
1
2
3npm install art-template
npm install express-art-template
步骤2:创建views目录(注:调用render方法默认会到views目录中找)
步骤3:创建test1.html文件(注:里面使用art-template模板语法)
- 步骤4:创建app2.js文件 -> 启动并测试
1 | //1.引入express框架模块 |
四、路由
1、简介
什么是路由:就是网址
什么是路由参数:就是网址参数
在 PHP中作用:声明交给哪个控制器的哪个方法处理
在NodeJS中作用:交给指定匿名函数处理
2、语法
- 明 确:HTTP请求类型有get、post、put、delete等
- 普通语法:app.HTTP请求类型(请求路径,回调函数)
发送 GET请求:app.get(请求路径,回调函数)
发送POST请求:app.post(请求路径,回调函数)
发送 任意请求:app.all(请求路径,回调函数)
….
- 特殊语法:app.use(请求路径,回调函数)
区别1:use匹配任意类型请求
区别2:use非完全匹配(ps. 只需要url前面匹配请求路径即可匹配)
- 路由参数:app.HTTP请求类型(请求路径/:参数1/…/:参数n,回调函数)
3、练习(普通语法)
- 步骤1:创建app3.js文件,输入下述代码 (ps. 直接复制关键理解作用)
1 | //1.引入express框架模块 |
- 步骤2:测试
4、练习(特殊语法)
- 步骤1:创建app4.js文件,输入下述代码 (ps. 直接复制关键理解作用)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49//1.引入express框架模块
var express = require('express')
//2.创建框架核心app对象
var app = express()
//3.路由
app.get('/', function(req, res) {
var formHtml = `
<form action="/test/a/b/c" method="post">
<input type="text" name="uname" />
<input type="text" name="age" />
<input type="submit" />
</form>
`
res.send(formHtml)
})
app.use('/test', function(req, res){
res.send('this is /test')
})
//4.启动服务
app.listen(8080, function(){
console.log('Running...')
}) - 步骤2:测试
3、练习(路由参数)
- 步骤1:创建app5.js文件,输入下述代码 (ps. 直接复制关键理解作用)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25//1.引入express框架模块
var express = require('express')
//2.创建框架核心app对象
var app = express()
//3.路由
app.get('/stu/:name/:age', function(req, res){
console.log(req.params);
res.send('匹配成功,快去看控制台有没有获取数据..')
})
//4.启动服务
app.listen(8080, function(){
console.log('Running...')
}) - 步骤2:测试
五、利用 Express 托管静态文件
- 回忆:在第一讲中,让静态资源可以被外部访问
说明:在express中设置了固定语法允许指定目录下的文件被外部访问
练习:
1 |
|
六、案例(留言板)
1、效果图

2、初始化
- 步骤1:创建如下结构目录
- 步骤2:将静态资源和静态文件复制到对应目录中
- 步骤3:执行下述命令
1
2
3
4
5
6
7npm init -y
npm install express
npm install art-template
npm install express-art-template
3、显示静态页面
- 创建app.js文件
1 | //1.引入express框架模块 |
4、显示动态页面
- 步骤1:声明留言数据变量
1 | //创建留言数据对象 |
- 步骤2:传递给视图
- 步骤3:视图遍历 -> 查看效果
5、数据处理(get)
- 步骤1:修改post.html文件
- 步骤2:修改app.js增加逻辑判断
1 | //创建留言数据对象 |
- 步骤3:测试