我有一个使用create-react-app
构建的React应用,它使用react-router
。当我使用npm start
打开测试开发视图时,一切都运行得很好。但是,当我构建应用时 - 无论我将homepage
中的package.json
字段设置为 - 我得到的是#root div,其中包含react-empty: 1
条评论。
我的index.js
组件如下所示:
ReactDOM.render(
(<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home} />
<Route path="/news" component={News} />
<Route path="/current" component={Current} />
<Route path="/previous" component={Previous} />
<Route path="/about" component={About} />
<Route path="/enter" component={Enter} />
<Route path="/login" component={Login} />
<Route path="/profile" component={Profile} />
</Route>
</Router>),
document.querySelector('#root')
);
如果您需要查看更多代码以了解发生了什么,请告诉我。重申一下 - 在npm test
或应用程序的构建副本中都没有出现任何错误。
答案 0 :(得分:1)
这是homepage
中package.json
的相对路径和路线定义的问题。
Router
如果必须呈现<!-- react-empty: 1 -->
,则会呈现null
之类的内容。
您已将集Route path="/"
设置为匹配主页中的相对路径。
您可以将其更改为
<Route path=process.env.PUBLIC_URL component={App}>
这将采用您在package.json