新聞中心
本文轉(zhuǎn)載自微信公眾號「精益碼農(nóng)」,作者有態(tài)度的馬甲。轉(zhuǎn)載本文請聯(lián)系精益碼農(nóng)公眾號。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的臨湘網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
最近全權(quán)負責了一個前后端分離的web項目,前端使用create-react-app[1], 后端使用golang做的api服務。
- npx create-react-app my-app
- cd my-app
- npm start
歘歘歘,就搭建了一個react前端項目。
前端老鳥都知道npm start或yarn start以開發(fā)模式啟動react App:在localhost:3000調(diào)試預覽前端項目,編輯器的變更會實時體現(xiàn)在web頁面。
前端老鳥也知道npm run build或yarn build是以生產(chǎn)為目標,將優(yōu)化后的靜態(tài)文件輸出到build文件夾 (優(yōu)化構(gòu)建性能、壓縮產(chǎn)出物、給文件名哈希)。
從一個全棧程序員的視角,開發(fā)時最好能一次啟動前后端兩個程序。
快閃二:你能在react app開發(fā)模式中一鍵啟動多個服務嗎?
1. 安裝concurrently插件
- npm install concurrently -D
2 . 配置npm命令
- "scripts": {
- "start": "concurrently \"react-scripts start\" \"go run main.go\" ",
- "build": "react-app-rewired build",
- "test": "react-app-rewired test",
- "eject": "react-scripts eject"
- },
注意上面的start腳本內(nèi)容: react-scripts start啟動了前端app, go run main.go啟動了后端api服務。
3. npm start或yarn start啟動項目
開發(fā)模式,前后端項目不在一個端口,內(nèi)置axios發(fā)起的ajax請求存在跨域。
解決跨域問題,要么反向代理,要么讓后端做CORS。
這里我們采用反向代理的方式。
4. react開發(fā)模式設置proxy[2]
create-react-app允許你設置一個proxy,僅用于開發(fā)模式。
To tell the development server to proxy any unknown requests to your API server in development, add a proxy field to your package.json。
在package.json文件,設置要代理的后端地址 proxy:"localhost:8034"
,開發(fā)模式localhost:3000收到的未知請求將會由前端開發(fā)服務器代理轉(zhuǎn)發(fā)。
引用鏈接
[1] create-react-app: https://github.com/facebook/create-react-app
[2] react開發(fā)模式設置proxy: https://coursework.vschool.io/setting-up-a-full-stack-react-application/
網(wǎng)頁標題:大前端快閃二:React開發(fā)模式一鍵啟動多個服務
文章轉(zhuǎn)載:http://m.fisionsoft.com.cn/article/dhephgg.html


咨詢
建站咨詢
