Express 搭建简单 Web 服务
Express 是一个基于 Node.js 平台的 Web 应用开发框架,它提供了一系列强大的特性,帮助我们创建各种 Web 应用。
安装依赖
首先,创建项目目录并初始化:
mkdir express-demo
cd express-demo
npm init -y
安装 Express 和 nodemon:
npm i express
npm i -g nodemon
nodemon 是一个辅助开发工具,它会监听代码变更并自动重启 Node 应用,提升开发效率。
编写服务端代码
新建 app.js
文件,编写服务端代码:
const express = require('express');
const app = express();
// 允许跨域请求
app.all('*', (req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST');
next();
});
// 定义路由
app.get('/api/list', (req, res) => {
res.json([
{ id: 1, name: '张三', age: 18 },
{ id: 2, name: '李四', age: 20 },
]);
});
// 启动服务
app.listen(3000, () => {
console.log('server is running at http://localhost:3000');
});
代码说明:
- 通过
require('express')
引入 Express。 - 调用
express()
创建应用实例app
。 - 使用
app.all()
中间件允许来自任何域的跨域请求。 - 定义 GET 类型的
/api/list
路由,返回一个 JSON 数组。 - 调用
app.listen()
启动服务,监听 3000 端口。
配置启动命令
为了方便启动应用,在 package.json
中添加 start
脚本:
{
"name": "express-demo",
"version": "1.0.0",
"scripts": {
"start": "nodemon app.js"
},
"dependencies": {
"express": "^4.18.2"
}
}
现在可以通过 npm start
命令启动应用了。
测试接口
启动应用后,打开浏览器访问 http://localhost:3000/api/list
,可以看到返回的 JSON 数据:
[
{
"id": 1,
"name": "张三",
"age": 18
},
{
"id": 2,
"name": "李四",
"age": 20
}
]