代理启动前端dist包

目录

前言:

主要技术:

步骤

1、新建代理文件proxy.js

2、安装依赖:

3、启动代理

4、访问

后记优化


前言:

开发过程中需要频繁和前端进行联调,前端同事只有一个,需要对接的后端却有好几个,导致前端分身无术,拖慢开发效率,于是让前端同事打包一份dist,这篇文章主要来讲解如何在本地启动前端包后进行联调

主要技术:

后端是springcloud(本篇讲的也是如何请求到网关)、前端用的vue

步骤

1、新建代理文件proxy.js

解压dist文件,打开后,可以看到css、js等文件夹,如下图所示

在同级目录新建代理文件proxy.js

javascript 复制代码
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();
app.use(express.static(__dirname));

// 关键:代理 /api 到网关 5001
app.use('/api', createProxyMiddleware({
  target: 'http://127.0.0.1:5001',
  changeOrigin: true
}));


// 端口 3001
app.listen(3001, () => {
  console.log('=====================================');
  console.log('✅ 前端启动:http://127.0.0.1:3001');
  console.log('✅ 已代理:/api -> 5001');
  console.log('=====================================');
});

我本地启动的网关是5001:

前端请求的接口格式是api/```,;如果接口格式不一样需要改相对应的上述js

2、安装依赖:

打开命令行进入dist文件夹后运行:

npm install express http-proxy-middleware

3、启动代理:

还是在命令行中运行

node proxy.js

4、访问

在日志中看到如下信息:点开链接访问

至此就成功啦!

后记优化:

启动后的前端进行页面刷新后页面会消失,页面显示报Cannot GET 【你的接口地址】

javascript 复制代码
const express = require('express');
const path = require('path');
const app = express();

// 静态资源
app.use(express.static(__dirname));

// ------------------------------
// 原来的代理
// ------------------------------
app.use('/api', require('http-proxy-middleware').createProxyMiddleware({
  target: 'http://127.0.0.1:5001',
  changeOrigin: true
}));

// ------------------------------
// 修复刷新 404(无通配符,不报错)
// ------------------------------
app.use((req, res) => {
  res.sendFile(path.join(__dirname, 'index.html'));
});

// 端口 3001
app.listen(3001, () => {
  console.log('=====================================');
  console.log('✅ 前端启动:http://127.0.0.1:3001');
  console.log('✅ 接口代理:5001');
  console.log('✅ 刷新正常');
  console.log('=====================================');
});
相关推荐
坐吃山猪9 分钟前
WebFlux_学习Subscriber总结
java·开发语言·学习·webflux
白露与泡影18 分钟前
Java面试题及答案整理(2026年金九银十最新版,持续更新)
java·开发语言
樊小肆18 分钟前
# 你还在等DeepSeek官方 agent Harness‌? 来试试 DeepSeeker-Code吧
前端·人工智能·后端
樊小肆19 分钟前
2568 万 token 才花 2 块 2:聊聊 DeepSeeker-Code 怎么吃满上下文缓存
前端·人工智能·后端
JarvanMo29 分钟前
Flutter 3.47: material/cupertino终于解耦了
前端
geovindu33 分钟前
java: Memento Pattern
java·开发语言·后端·备忘录模式·行为模式
xcLeigh38 分钟前
Unity基础:Start与Update方法——Unity脚本生命周期初探
java·unity·游戏引擎·教程
郭邯38 分钟前
一次「字符洁癖」引发的思考:我用 AI 写了个全角半角转换工具
前端
想要成为糕糕手40 分钟前
🚀 在浏览器里跑 DeepSeek-R1?WebGPU 端侧推理实战(五)—— 中断、重置、缓存与流式生成
前端·react.js·llm
zephyr0540 分钟前
链表实现O(n log n)时间复杂度的排序——归并排序详解
java·数据结构·算法