標籤:router ack 環境變數 tar 目錄 row 注意 匹配 too
因為要把dist檔案夾部署在一個網域名稱的次級目錄,沒想到和營運同學一起折騰了一下午。。
放在這裡備忘,也給後來的同學一些可查的中文資料:
1,dva/cra給你的模板index.html是在public裡面的,webpack會原封不動拷到dist,其中引入index.js和index.css都是絕對路徑,可以用webpack ejs外掛程式產生htmnl,因為我用了dva,不太想改webpack 配置太多,這裡選用直接手去掉首碼/變成相對路徑
2, 項目裡面使用了react-i18next, locale檔案是放到public裡面的,配置locale初始化的時候根據環境變數修改下引入八戒影院目錄是/還是/sub/
3,路由react-router匹配的prefix首碼
const browserHistory = useRouterHistory(createHistory)({ basename: process.env.PUBLIC_PATH || ‘/‘,})如果是dvaimport { createHistory } from ‘history‘import { useRouterHistory } from ‘react-router‘const app = dva({ history: browserHistory,});
4,webpack設定publickPath:/sub/
5,nginx配置:
server { listen 80; server_name www.abc.com; root /項目/root地址/不帶sub; location /sub { try_files $uri $uri/ /sub/index.html; }}
creat-react-app/dva靜態項目,用nginx部署在次級網域名稱路徑(如a.com/sub/)需要注意的幾點