0%

Node.js-express

Node.js-express

Express简介:

Express是基于Node.js平台,快速,开放,极简的Web开发框架

通俗理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。

Express的本质:就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法。

两种服务器:

Web网站服务器:专门对外提供Web网页资源的服务器

API接口服务器:专门对外提供API接口的服务器

使用Express,我们方便、快速的创建Web网站的服务器或Api接口服务器。

Express的基本使用:

安装:

npm i express@+版本号

创建web服务器

1
2
3
4
5
6
7
8
9
10
//express的使用
//1.导入express
var express = require('express');
//2.创建express实例(服务器)
var app = express();
//3.启动web服务器
app.listen(8081,()=>{
console.log('服务器启动成功!');
});

监听get请求:

通过app.get()方法,可以监听客户端的get请求,具体的语法格式如下:

1
2
3
4
5
///参数1:客户端请求的URL地址
//参数2:请求对应的处理函数
//req:请求对象(包含了与请求相关的属性与方法)
//res:响应对象(包含了与响应相关的属性与方法)
app.get('请求URL 'function(req,res) {/*处理函数*/ })

监听post请求:

通过app.post()方法,可以监听客户端的post请求,具体的语法格式如下:

1
2
3
4
5
///参数1:客户端请求的URL地址
//参数2:请求对应的处理函数
//req:请求对象(包含了与请求相关的属性与方法)
//res:响应对象(包含了与响应相关的属性与方法)
app.post('请求URL 'function(req,res) {/*处理函数*/ })

把内容响应给客户端:

通过res.send()方法,可以把处理好的内容,发送给客户端:

1
2
3
4
5
6
7
8
app.get('/user',(req,res) => {
//问客户端发送JSON对象
res.send({ name: 'zs ',age: 20,gender: '男'}
})
app.post('/user',(req,res) => {
//向客户端发送文本内容
res.send('请求成功')
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//express的使用
//1.引入express
var express = require('express');
//2.创建express实例(服务器)
var app = express();

//4.监听客户端的get和post请求,并向客户端响应具体的内容
app.get('/user', function(req, res) {
//调用express提供的res.send()方法,向客户端发送响应内容
res.send({name: '张三', age: 18});
});
app.post('/user', function(req, res) {
//调用express提供的res.send()方法,dd
res.send('post请求');
});

//3.启动web服务器
app.listen(8081,()=>{
console.log('服务器启动成功!');
});

获取URL中携带的查询参数

通过req.query对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数

1
2
3
4
5
6
7
8
9
10
//使用express提供的req.query获取查询参数
app.get('/user', function(req, res) {

//调用express提供的res.send()方法,向客户端发送响应内容
//res.query默认是一个空对象
//客户端使用?name=zs&age=20 这种查询字符串形式,发送到服务器的参数
//可以通过req.query对象访问到,例如:
//req.query.name req.query.age
res.send(req.query);
});

获取URL中的动态参数

通过req.params对象,可以访问到URL中,通过:匹配到的动态参数

1
2
3
4
5
6
7
app.get('/user/:id', function(req, res) {
//调用express提供的res.send()方法,向客户端发送响应内容
//res.params是一个对象,包含了路由中的参数
console.log(req.params);
res.send(req.params);
});

托管静态资源

托管一个静态资源

express.static()

通过这个函数能非常方便的创建一个静态的资源服务器

express在指定的静态目录中查找文件,并对外提供资源的访问路径因此。存放静态文件的目录名不会出现在URL中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//express.static()
// //express提供的static()方法,用于静态资源的处理
// //1.引入express
var express = require('express');
// 2.创建express实例(服务器)
var app = express();
// //3.配置静态资源的处理
// //配置静态资源的处理
// //当客户端访问的url中的文件名是以public开头的,那么就会自动访问public目录下的文件
app.use(express.static('public'));
// //4.启动web服务器
app.listen(8081,()=>{
console.log('服务器启动成功!');
});

托管多个静态资源目录

多次调用express.static()

挂载路径前缀

如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式

1
app.use('/public',express.static('public'));

nodemon使用:

//为什么要是用nodemon呢?

因为nodemon是一个实时监控的工具,当我们修改了代码,它会自动重启服务器,并且自动刷新浏览器

https://www.npmis.com/package/nodemon

安装:

1
npm install -g nodemon