測試項目:react-demo
- 克隆你的react-demo項目到服務器上(默認使用Github管理我們的項目)
- 如果需要,請安裝項目環(huán)境,比如:node.js,yarn等
- 進入項目目錄,執(zhí)行npm run build,開始構建項目
- 構建成功之后,會生成一個dist文件夾(取決于你的項目配置),這個文件夾里的靜態(tài)文件,就是我們的項目的訪問文件了,
- 配置Nginx,Linux服務器是進入到:/etc/nginx/sites-enabled,然后以管理員身份,新建一個你的react項目的配置文件,比如: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服務,
訪問項目,http://IP:8080/
注意事項:
1、配置域名的話,需要80端口,成功后,只要訪問域名即可訪問的項目
2、如果你使用了React-Router的browserHistory 模式,請在Nginx配置中加入如下配置:
location / {
try_files $uri $uri/ /index.html;
}
原理,因為我們的項目只有一個根入口,當輸入類似/home的url時,找不到這個頁面,這是,nginx會嘗試加載index.html,加載index.html之后,react-router就能起作用并匹配我們輸入的/home路由,從而顯示正確的home頁面,,如果browserHistory模式的項目沒有配置上述內容,會出現404的情況。
可參考react-router文檔:
https://react-guide.github.io/react-router-cn/docs/guides/basics/Histories.html
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接