React實現(xiàn)反向代理和修改打包后的目錄
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" , //配置你要請求的服務(wù)器地址 changeOrigin: true, })) app.use(proxy("/static", { target: "http://xxx.com:7000" , changeOrigin: true, })) };
修改打包后的目錄
由于我的前端靜態(tài)資源以 static 開頭,但是 create-react-app(基于 webpack)默認在打包應(yīng)用時,也會將打包好的資源放置到打包后的 static 目錄下,導(dǎo)致在加載打包后的資源時,不在前端打包資源中尋找,而是進行了請求轉(zhuǎn)發(fā)(反向代理),按著前端的打包資源地址,去服務(wù)端請求資源,導(dǎo)致請求不到資源,報錯。
所以就需要修改打包后的目錄,首先運行:
npm run eject
目的是讓webpack 相關(guān)配置顯現(xiàn)出來(默認是內(nèi)部隱藏掉了)。
然后可能會有報錯:
這時我們需要將 git 倉庫的文件提交一下。
之后再次執(zhí)行命令就可以了,webpack 等相關(guān)配置全部顯現(xiàn)。
然后會再次出現(xiàn) babel 報錯,只需要刪掉 package.json 中的:
"eslintConfig": { "extends": [ "react-app", "react-app/ject" ] }
然后在 config/webpack.config.js下修改:
可以將 static 修改為其他名稱,比如這里修改為了 assets。
問題解決!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
React通過redux-persist持久化數(shù)據(jù)存儲的方法示例
這篇文章主要介紹了React通過redux-persist持久化數(shù)據(jù)存儲的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02React通過useContext特性實現(xiàn)組件數(shù)據(jù)傳遞
本文主要介紹了React如何通過useContext特性實現(xiàn)組件數(shù)據(jù)傳遞,文中有相關(guān)的代碼示例供大家參考,對我們學(xué)習(xí)React有一定的幫助,需要的朋友可以參考下2023-06-06聊一聊我對 React Context 的理解以及應(yīng)用
這篇文章主要介紹了聊一聊我對 React Context 的理解以及應(yīng)用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04