【发布时间】:2018-02-15 02:48:11
【问题描述】:
我的应用程序正在显示书籍列表,其中包含指向该书详细信息页面的链接。
当我在呈现图书列表的主组件上并单击链接以访问特定图书时,页面正在正确加载...
但是当我刷新页面时,出现 404 - Page not found 错误
(我正在使用 react-router v4、Node v6.11.1、Express v4.15.2)
React 路由器设置:
import { BrowserRouter as Router } from 'react-router-dom'
import { Switch, Route } from 'react-router-dom'
class App extends Component {
render() {
return (
<div>
<MyNavbar/>
<div style={{paddingTop: "5rem"}}>
<Switch>
<Route exact path='/' component={Home}/>
<Route path='/book/:id' component={BookPage}/>
</Switch>
</div>
</div>
)
}
}
ReactDOM.render((
<Router>
<App />
</Router>
), document.getElementById('root'))
这是我的 webpack 配置:
var webpack = require('webpack')
var path = require('path')
module.exports = {
entry: {
app: './src/app.js'
},
output: {
filename: 'public/dist/bundle.js',
sourceMapFilename: 'public/dist/bundle.map.js'
},
devtool: '#source-map',
module: {
loaders: [
{
loader: 'babel-loader',
test: /\.js?$/,
exclude: /(node_modules)/,
query: {
presets: ['react', 'es2015']
}
}, {
test: /\.css$/,
loader: "style-loader!css-loader"
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
{ loader: 'sass-loader', options: { sourceMap: true } }
]
},
{
test: /\.(png|jpg|)$/,
loader: 'url-loader?limit=200000&name=./imgs/[hash].[ext]'
}
]
},
}
【问题讨论】:
-
我猜你用的是browserRouter,是吗?
-
关于您正在使用的服务器的一些消息?
-
是的@ShubhamKhatri
-
我没有使用 webpack-dev-server 而是 nodemon,这可能是问题吗? @ShubhamKhatri
-
你在用 webpack 吗???请阅读此stackoverflow.com/questions/27928372/…
标签: javascript node.js reactjs routing react-router