摘要:因?yàn)橐盐募A部署在一個(gè)域名的次級(jí)目錄,沒想到和運(yùn)維同學(xué)一起折騰了一下午。。
因?yàn)橐裠ist文件夾部署在一個(gè)域名的次級(jí)目錄,沒想到和運(yùn)維同學(xué)一起折騰了一下午。。
放在這里備忘,也給后來(lái)的同學(xué)一些可查的中文資料:
1,dva/cra給你的模板index.html是在public里面的,webpack會(huì)原封不動(dòng)拷到dist,其中引入index.js和index.css都是絕對(duì)路徑,可以用webpack ejs插件生成htmnl,因?yàn)槲矣昧薲va,不太想改webpack 配置太多,這里選用直接手去掉前綴/變成相對(duì)路徑
2, 項(xiàng)目里面使用了react-i18next, locale文件是放到public里面的,配置locale初始化的時(shí)候根據(jù)環(huán)境變量修改下引入目錄是/還是/sub/
3,路由react-router匹配的prefix前綴
export const browserHistory = useRouterHistory(createHistory)({ basename: process.env.PUBLIC_PATH || "/", }) 如果是dva import { createHistory } from "history" import { useRouterHistory } from "react-router" const app = dva({ history: browserHistory, });
小坑一個(gè)!
dva里面的路由跳轉(zhuǎn)會(huì)這么寫:
import { browserHistory } from "dva/router"; browserHistory.push("some/route")
由于我們自定義了history,這樣會(huì)失效, 所以一定記得要import剛才export出來(lái)的history,而不是dva默認(rèn)的那個(gè)!
4,webpack設(shè)置publickPath:/sub/
5,nginx配置:
server { listen 80; server_name www.abc.com; root /項(xiàng)目/root地址/不帶sub; location /sub { try_files $uri $uri/ /sub/index.html; } }
搞定~
edit: 有可能會(huì)遇到的坑
dva的subscription會(huì)推薦 if (pathname === "/path"), 加上publicPath之后會(huì)匹配失敗
pathToRegexp 生成的表達(dá)式是嚴(yán)格匹配,會(huì)跟publicPath匹配失敗
解決也很簡(jiǎn)單 根據(jù)環(huán)境變量更改匹配規(guī)則即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39631.html
摘要:關(guān)聯(lián)本地文件夾和遠(yuǎn)程倉(cāng)庫(kù),注意地址是你的地址哦上面的后面三點(diǎn)就是,添加到碼云倉(cāng)庫(kù),相信大家都知道。這里不能克隆到的,需要把服務(wù)器本機(jī)的公鑰添加到碼云上面。 emmmm,作為一個(gè)前端開發(fā)時(shí)刻想著,怎么把自己寫的東西,丟到自己的服務(wù)器上面,然后展示給別人看。下面我就簡(jiǎn)單直白的寫下,如何用 Nginx 部署你的靜態(tài)網(wǎng)站。 事前準(zhǔn)備 云服務(wù)器,(我的是阿里云) 碼云或者 gihub (用來(lái)存...
摘要:關(guān)聯(lián)本地文件夾和遠(yuǎn)程倉(cāng)庫(kù),注意地址是你的地址哦上面的后面三點(diǎn)就是,添加到碼云倉(cāng)庫(kù),相信大家都知道。這里不能克隆到的,需要把服務(wù)器本機(jī)的公鑰添加到碼云上面。 emmmm,作為一個(gè)前端開發(fā)時(shí)刻想著,怎么把自己寫的東西,丟到自己的服務(wù)器上面,然后展示給別人看。下面我就簡(jiǎn)單直白的寫下,如何用 Nginx 部署你的靜態(tài)網(wǎng)站。 事前準(zhǔn)備 云服務(wù)器,(我的是阿里云) 碼云或者 gihub (用來(lái)存...
摘要:上一篇文章中大概嘗試安裝的一些過程以及在配置中出現(xiàn)的問題還有一些解決方式,那么在本次過程嘗試中,將進(jìn)一步進(jìn)行服務(wù)器的基礎(chǔ)配置,以及前端應(yīng)用部署經(jīng)過上次已經(jīng)安裝至服務(wù)器中了,在這里面主要介紹一下部署相關(guān)所需要的配置,例如監(jiān)聽端口服務(wù)轉(zhuǎn)發(fā)靜態(tài)資 OK! 上一篇文章中大概嘗試安裝mysql、nginx、nodeJs、pm2 的一些過程以及在配置中出現(xiàn)的問題還有一些解決方式,那么在本次過程嘗...
閱讀 3178·2021-10-08 10:04
閱讀 1127·2021-09-30 09:48
閱讀 3498·2021-09-22 10:53
閱讀 1717·2021-09-10 11:22
閱讀 1729·2021-09-06 15:00
閱讀 2183·2019-08-30 15:56
閱讀 740·2019-08-30 15:53
閱讀 2318·2019-08-30 13:04