Skip to content

Express 基础

基本使用

一、安装

在项目根目录运行下面命令

shell
npm i express

二、创建基本的 web 服务

js
// 导入express
const express = require("express");
// 创建web服务器
const app = express();
// 调用app.listen(端口号),启动服务器
app.listen(80, () => {
  console.log("express server running at http://127.0.0.1");
});

// 监听get请求
app.get("/user", (req, res) => {
  // 向客户端返回数据
  res.send({ name: "jack", age: 23 });
});

// 监听post请求
app.post("/about", (req, res) => {
  res.send("请求成功!");
});

三、获取 url 中携带的查询参数

js
app.get("/", (req, res) => {
  // req.query 默认是空对象
  // url请求:?name=zhang&age=28
  console.log(req.query); //{name:zhang,age:28}
});

四、获取 url 中的动态参数

js
app.get("/user:id", (req, res) => {
  // url请求:http://xxx/user/12
  console.log(req.params); //{ id: '12' }
});

托管静态资源

通过 express.static 创建静态资源服务器

1. express.static

js
// 将public文件夹作为对外开放的静态资源服务器
app.use(express.static("/public"));

// 可以访问public下的资源
// http://localhost:3000/images/bg.jpg
// http://localhost:3000/css/style.css
// http://localhost:3000/js/login.js

注意

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

2. 托管多个静态资源目录

  • 如果要托管多个静态资源目录,需多次调用 express.static() 函数
js
app.use(express.static("/public"));
app.use(express.static("/files"));
  • 如果静态资源服务器内部存在相同文件名,则按照托管目录的先后顺序加载

3. 挂载路径前缀

js
app.use("/public", express.static("public"));
// 可以访问public下的资源
// http://localhost:3000/public/images/bg.jpg
// http://localhost:3000/public/css/style.css
// http://localhost:3000/public/js/login.js

nodemon

nodemon 能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目

  • 安装
shell
npm i -g nodemon
  • 使用
shell
node app.js
# 将上面命令替换为如下命令,实现自动重启项目
nodemon app.js