React实现反向代理和修改打包后的目录
React反向代理和修改打包后的目录
反向代理
前提是做了反向代理:
安装 http-proxy-middleware
npm i http-proxy-middleware
在src/下新建 setupProxy.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 目录下,导致在加载打包后的资源时,不在前端打包资源中寻找,而是进行了请求转发(反向代理),按着前端的打包资源地址,去服务端请求资源,导致请求不到资源,报错。
所以就需要修改打包后的目录,首先运行:
npm run eject
目的是让webpack 相关配置显现出来(默认是内部隐藏掉了)。
然后可能会有报错:
这时我们需要将 git 仓库的文件提交一下。
之后再次执行命令就可以了,webpack 等相关配置全部显现。
然后会再次出现 babel 报错,只需要删掉 package.json 中的:
"eslintConfig": { "extends": [ "react-app", "react-app/ject" ] }
然后在 config/webpack.config.js下修改:
可以将 static 修改为其他名称,比如这里修改为了 assets。
问题解决!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
最近在做一个后台管理项目,涉及到react相关知识,项目需求需要在表单中带附件提交,怎么实现这个功能呢?下面小编给大家带来了react使用antd的上传组件实现文件表单一起提交功能,一起看看吧2021-06-06react-router browserHistory刷新页面404问题解决方法
本篇文章主要介绍了react-router browserHistory刷新页面404问题解决方法,非常具有实用价值,需要的朋友可以参考下2017-12-12React Native AsyncStorage本地存储工具类
这篇文章主要为大家分享了React Native AsyncStorage本地存储工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10
最新评论