【React】反向代理和修改打包后的目录

反向代理

前提是做了反向代理:

安装 http-proxy-middleware

复制代码
npm i http-proxy-middleware

在src/下新建 setupProxy.js

js 复制代码
const proxy = require("http-proxy-middleware");

module.exports = function(app) {
    app.use(proxy("/api", {
        target: "http://xxx.com:7000" , //配置你要请求的服务器地址
        changeOrigin: true,
    }))
    app.use(proxy("/static", {
        target: "http://xxx.com:7000" ,
        changeOrigin: true,
    }))
};

修改打包后的目录

由于我的前端静态资源以 static 开头,但是 create-react-app(基于 webpack)默认在打包应用时,也会将打包好的资源放置到打包后的 static 目录下,导致在加载打包后的资源时,不在前端打包资源中寻找,而是进行了请求转发(反向代理),按着前端的打包资源地址,去服务端请求资源,导致请求不到资源,报错。

所以就需要修改打包后的目录,首先运行:

sh 复制代码
npm run eject

目的是让webpack 相关配置显现出来(默认是内部隐藏掉了)。

然后可能会有报错:

这时我们需要将 git 仓库的文件提交一下。

之后再次执行命令就可以了,webpack 等相关配置全部显现。

然后会再次出现 babel 报错,只需要删掉 package.json 中的:

json 复制代码
"eslintConfig": {
    "extends": [
        "react-app",
        "react-app/ject"
    ]
}

然后在 config/webpack.config.js下修改:

可以将 static 修改为其他名称,比如这里修改为了 assets。

问题解决!

相关推荐
小李子呢021140 分钟前
前端八股Vue---Vue2和Vue3的区别,set up的用法
前端·javascript·vue.js
邂逅星河浪漫1 小时前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
星空椰1 小时前
JavaScript 进阶基础:函数、作用域与常用技巧总结
开发语言·前端·javascript
奔跑的呱呱牛1 小时前
@giszhc/vue-page-motion:Vue3 路由动画怎么做才“丝滑”?(附在线示例)
前端·javascript·vue.js
gCode Teacher 格码致知3 小时前
Javascript提高:小数精度和随机数-由Deepseek产生
开发语言·javascript·ecmascript
倾颜4 小时前
React 19 源码怎么读:目录结构、包关系、调试方式与主线问题
react.js
冴羽5 小时前
请愿书:Node.js 核心代码不应该包含 AI 代码!
前端·javascript·node.js
mmmmm123425 小时前
深入 DOM 查询底层:HTMLCollection 动态原理与 querySelectorAll 静态快照解析
前端·javascript
淸湫5 小时前
前端JavaScript:数据类型、实例对象 、内置对象、构造函数之间的关系
javascript
别看我只是一直狼6 小时前
从观察者模式到 RxJS:让复杂的异步逻辑变得优雅又舒服
javascript