本篇文章為大家展示了如何在nginx中部署一個(gè)react項(xiàng)目,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了建安免費(fèi)建站歡迎大家使用!
測(cè)試項(xiàng)目:react-demo
克隆你的react-demo項(xiàng)目到服務(wù)器上(默認(rèn)使用Github管理我們的項(xiàng)目)
如果需要,請(qǐng)安裝項(xiàng)目環(huán)境,比如:node.js,yarn等
進(jìn)入項(xiàng)目目錄,執(zhí)行npm run build,開始構(gòu)建項(xiàng)目
構(gòu)建成功之后,會(huì)生成一個(gè)dist文件夾(取決于你的項(xiàng)目配置),這個(gè)文件夾里的靜態(tài)文件,就是我們的項(xiàng)目的訪問文件了,
配置Nginx,Linux服務(wù)器是進(jìn)入到:/etc/nginx/sites-enabled,然后以管理員身份,新建一個(gè)你的react項(xiàng)目的配置文件,比如:react-demo.conf,然后,編輯文件:
server { listen 8080; # server_name your.domain.com; root /home/root/react-demo/dist; index index.html index.htm; location / { try_files $uri $uri/ /index.html; } location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } error_page 500 502 503 504 /500.html; client_max_body_size 20M; keepalive_timeout 10; }
執(zhí)行sudo service nginx restart重啟Nginx服務(wù),
訪問項(xiàng)目,http://IP:8080/
注意事項(xiàng):
1、配置域名的話,需要80端口,成功后,只要訪問域名即可訪問的項(xiàng)目
2、如果你使用了React-Router的browserHistory 模式,請(qǐng)?jiān)贜ginx配置中加入如下配置:
location / { try_files $uri $uri/ /index.html; }
原理,因?yàn)槲覀兊捻?xiàng)目只有一個(gè)根入口,當(dāng)輸入類似/home的url時(shí),找不到這個(gè)頁面,這是,nginx會(huì)嘗試加載index.html,加載index.html之后,react-router就能起作用并匹配我們輸入的/home路由,從而顯示正確的home頁面,,如果browserHistory模式的項(xiàng)目沒有配置上述內(nèi)容,會(huì)出現(xiàn)404的情況。
上述內(nèi)容就是如何在nginx中部署一個(gè)react項(xiàng)目,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。