带有react-router的webpack中的多个入口点
我正面临着巨大的问题,试图与反应路由器一起实现多个入口点。 目的是实现使用webpack做一些build议由https://github.com/petehunt/webpack-howto 。
到目前为止,我已经把它设置为这样:
webpack.config.js
entry: { entry1: __dirname + './entry1.jsx', entry2: __dirname + './entry2.jsx' }
routes.jsx
export default ( <Route path='/' name='app' handler={App}> <DefaultRoute handler={entry1} /> <Route name='entry2' handler={entry2}/> </Route> );
无论何时运行此代码以在客户端上实例化Router的实例
Router.run(routes, Router.HistoryLocation, (Handler, state) => { React.render(<Handler />, document.getElementById('app')); });
Node.js会尝试在服务器上运行这个代码,因为DOM不可用,所以显然会失败。 它会产生一个错误。
是否有任何适当的方法来实现多入口点与react-router?
我已经做了一些类似于这个沙箱中的webpack-react-boilerplate库我一直在使用react-router。
我相信你可能正在寻找的答案在于,你需要在服务器入口文件中使用React.renderToString
和/或React.renderToStaticMarkup
,正如你所说的那样,服务器上显然没有DOM。 您可以看到这里的客户端入口点与服务器入口点的不同之处。