這是我第一次嘗試做出反應。 我使用create-react-app
創建項目,然後進行路由,我使用React Router V4進行web react-router-dom
。react-router-dom BrowserRouter在編譯後不工作
這是我index.js
文件
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom';
import App from './App';
import './index.css';
ReactDOM.render(
<Router>
<App />
</Router>,
document.getElementById('root')
);
當我啓動服務器npm start
有沒有問題。但是當我用npm run build
構建應用程序時,將其放入我的Apache服務器的www
文件夾中並訪問它,我只在root div
的內部得到<!-- react-empty: 1 -->
的空白頁面。
<div id="root">
<!-- react-empty: 1 -->
</div>
我試圖尋找類似的情況,但答案總是關於webpack.config.js或一飲而盡添加historyApiFallback
,我不能在create-react-app
模板任何地方。
我試過HashRouter
,它工作正常,但有/#/
在URL是不受歡迎的。
我在構建應用程序後如何讓BrowserRouter工作?
你可以分享github回購?這是檢查代碼的唯一方法。從來沒有與創建反應應用程序和反應路由器v4這個問題,所以一定有什麼問題在你身邊。 – Win
對不起,延遲迴復,這是我的github回購。 https://github.com/fadeltd/mall-app –
問題在於你如何爲頁面提供服務。如果你用'localhost/myproject'來訪問它。那麼它會假設路由需要渲染的將是具有'myproject'路徑的路由,所以如果是這種情況,則添加前綴 –