creat-react-app/dva靜態項目,用nginx部署在次級網域名稱路徑(如a.com/sub/)需要注意的幾點

來源:互聯網
上載者:User

標籤: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/)需要注意的幾點

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.