在 Node.js 项目中配置代理通常是为了在开发环境中将特定的请求转发到另一个服务器,比如 API 请求转发到后端服务器。
可以使用工具和中间件来实现类似的代理功能。
对于使用 Express.js 的项目,可以使用 http-proxy-middleware
这个中间件来实现代理功能。
一、安装依赖
首先,你需要安装 express
和 http-proxy-middleware
。
npm install express http-proxy-middleware
二、配置代理
创建一个 server.js
文件(或你正在使用的任何主服务器文件),并添加以下代码来配置代理:
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
const port = 3000;
// 配置代理
app.use(
'/api', // 当请求路径以 '/api' 开头时,触发代理
createProxyMiddleware({
target: 'http://localhost:5000', // 目标服务器的地址
changeOrigin: true, // 如果目标服务器设置了 CORS,需要设置为 true
pathRewrite: { '^/api': '' }, // 重写路径,去掉 '/api' 前缀
})
);
// 其他路由处理
app.get('/', (req, res) => {
res.send('Hello, this is your front-end server!');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
所有以 /api
开头的请求都会被转发到 http://localhost:5000
,并且路径中的 /api
部分会被移除。
例如,对 http://localhost:3000/api/users
的请求会被转发到 http://localhost:5000/users
。
三、运行服务器
node server.js
现在, Express 服务器已经配置好了代理,可以将 /api
路径下的请求转发到另一个服务器。
方法非常灵活,可以根据需要调整代理配置,比如添加更多的路径重写规则、错误处理等。如果你使用的是其他框架或工具(如 Koa.js、NestJS 等),也有相应的中间件或方法来实现代理功能。
功能等同于 vite.config.js 中的 proxy 代理。
在 wps 加载项的项目调试过程,使用工具 wpsjs (加载项创建时是无框架的情况,通常在 debug_xmlplugin.js 文件中 StartServer 的方法里进行具体的代理配置 ;配置好后,运行 wpsjs debug 指令启动服务即可),同样可实现。需确保后端服务器已完全允许跨域。
wpsjs - v 2.2.0
node.js - v 20.15.0