解決React/React route部屬在GitHub Pages上遇到的問題
修訂了一版放在github上,步驟比較詳細 這裡
---
想把React APP部屬在GitHub Pages上若有使用到React route最常見的問題就是出現"空白"或是自訂的404頁面,但是當你打開瀏覽器偵錯工具又發現資源是正確載入的
這個問題的原因發生在React route本身,可能因為React route偵測到的路徑發生一些問題導致元件沒有渲染,這時候你需要進行一些設置
1. 在你的package.json加入"homepage": "https://你的帳號.github.io/儲藏庫/index所在資料夾"
2. 修改package.json腳本
-
※修改後的package.json參考
-
3. 將Router替換成HashRouter
本來可能是BrowserRouter,如果沒有進行替換會在reload後發生404,這是因為GitHub Pages無法設置404 redirect
※如果不換成HashRouter,須給BrowserRouter指定basename。basename='儲藏庫/index所在資料夾/'
---
想把React APP部屬在GitHub Pages上若有使用到React route最常見的問題就是出現"空白"或是自訂的404頁面,但是當你打開瀏覽器偵錯工具又發現資源是正確載入的
這個問題的原因發生在React route本身,可能因為React route偵測到的路徑發生一些問題導致元件沒有渲染,這時候你需要進行一些設置
1. 在你的package.json加入"homepage": "https://你的帳號.github.io/儲藏庫/index所在資料夾"
2. 修改package.json腳本
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"scripts": { | |
"start": "node scripts/start.js", | |
"build": "set PUBLIC_URL=https://你的帳號.github.io/儲藏庫/index所在資料夾&& node scripts/build.js", | |
"test": "node scripts/test.js" | |
}, |
※修改後的package.json參考
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "my-website", | |
"version": "0.1.0", | |
"private": true, | |
"homepage": "https://p208p2002.github.io/me/build", | |
"dependencies": { | |
... | |
}, | |
"scripts": { | |
"start": "node scripts/start.js", | |
"build": "set PUBLIC_URL=https://p208p2002.github.io/me/build&& node scripts/build.js", | |
"test": "node scripts/test.js" | |
}, | |
... | |
} |
3. 將Router替換成HashRouter
本來可能是BrowserRouter,如果沒有進行替換會在reload後發生404,這是因為GitHub Pages無法設置404 redirect
※如果不換成HashRouter,須給BrowserRouter指定basename。basename='儲藏庫/index所在資料夾/'
留言
張貼留言