目录
express是基于Node.js平台的快速,极简Web开发框架。express的作用类似于Node.js中的http模块,用于创建Web服务器的。
express的官网:https://www.express.com/cn
常见的两种服务器,分别是:
Web网站服务器:专门对外提供Web网页资源的服务器。
API接口服务器:专门对外提供API接口的服务器。
使用Express,可以方便、快速地创建Web网站服务器或API接口服务器。
- // 导入express包
- const express = require('express');
- // 创建express服务器
- const app = express();
-
- // 启动服务器 监听80端口,并有个回调函数
- app.listen('80',() => {
- console.log('express Web server is running at 127.0.0.1');
- })

报错原因:没有安装express模块
解决:npm install express

成功启动服务器:

1. 通过app.get()方法,可以监听客户端的GET请求:
- // 参数1: 客户端请求的URL地址
- // 参数2: 请求对应的处理函数
- // req: 请求对象
- // res: 响应对象
- app.get('请求URL', function(req, res) { /*处理函数*/ })
2. 通过app.post()方法,可以监听客户端的POST请求:
app.post('请求URL', function(req, res) { /*处理函数*/ })
3. 示例:
- // 导入express包
- const express = require('express');
- // 创建express服务器
- const app = express();
-
- // // 启动服务器
- app.listen('80',() => {
- console.log('express Web server is running at 127.0.0.1');
- })
-
- app.get('/user', (req, res) => {
- const jsonObj = {
- name: 'sun',
- age: '18',
- gender: 'women'
- }
- res.send(jsonObj); // 响应客户端JSON数据
- })
-
- app.post('/user', (req, res) => {
- res.send('请求成功') // 响应客户端文本数据
- })
可以下载postman或者Apipost软件来模拟GET/POST请求的发送:

1. 获取静态参数
通过req.query对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:
- // 模拟请求127.0.0.1?name=sun&age=20,URL附带参数、打印参数并响应参数
- app.get('/', (req, res) =>{
- console.log(req.query);
- res.send(req.query);
- })

2. 获取动态参数
- app.get('/user/:id', (req,res) => {
- console.log(req.params); // 可以获取动态参数
- res.send(req.params); //响应动态参数id
- })

express提供了一个非常好用的函数,叫做express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如,通过如下代码就可以将public目录下的图片,CSS文件,JS文件对外开放访问了:
app.use(express.static('public'))
设置后,可以访问public目录的所有文件了:
- http://localhost/images/bg.jpg
- http://localhost/css/style.css
- http://localhost/js/login.js
- ...
注意:Express在指定的静态目录中查找文件,并对外提供资源访问路径,因此,存放静态文件的目录名不会出现在URL中
如果要托管多个静态资源目录,可以多次调用express.static()函数:
- app.use(express.static('public'));
- app.use(express.static('file'));
访问静态资源文件时,express.static()函数会根据目录的添加顺序查找所需的文件。
如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下方式:
app.use('/public', express..static('public'))
这样就可以在访问路径出现需要的路径前缀了:

在编写调试Node.js项目时,如果修改了代码,需要频繁关闭服务,再重新启动,很麻烦。所以可以使用nodemon这个工具,可以监听项目的变动,如果代码被修改了,nodemon会自动帮我们重启项目,方面开发和调试。
安装nodemon:
npm install nodemon -g
安装nodemon后,我们运行项目的命令需要从node变为nodemon:
- node test.js
- // 安装nodemon后、替换为如下命令
- nodemon test.js
这样nodemon可以监听test.js文件的改动,从而不需要我们手动关闭重启服务。nodemon会自动重启。