Kom*_*hol 15 production express reactjs webpack react-router
我有一个简单路线的应用程序.当我使用webpack开发服务器时它工作正常.现在,我想将它部署到我的生产服务器.所以我构建了bundle.js.但是,我不确定在服务器上提供文件的正确方法是什么.
大多数博客文章都停止构建bundle.js或将其部署到heroku或nodejutsu.如果我想在自己的服务器上提供服务,该怎么办?
我尝试在快速服务器上提供文件,但我在浏览器中收到此错误(这条路径与webpack-dev-server一样正常).
http:// localhost:3000/app
无法GET/app
我有这样简单的路线.登陆页面/工作正常,但我无法访问/ app路由
var Routes = () => (
<Router history={browserHistory}>
<Route path="/" component={Landing}>
</Route>
<Route path="/app" component={App}>
</Route>
</Router>
)
Run Code Online (Sandbox Code Playgroud)
这是我的server.js.我把bundle.js,index.html放在./public中
app.use(express.static('./public'));
app.listen(port, function () {
console.log('Server running on port ' + port);
});
Run Code Online (Sandbox Code Playgroud)
Ric*_*yon 13
您需要在快速服务器上声明一个"捕获所有"路由,捕获所有页面请求并将它们指向客户端.首先,确保您在path服务器上包含该模块:
var path = require('path');
Run Code Online (Sandbox Code Playgroud)
然后,把它放在app.listen:
app.get('*', function(req, res) {
res.sendFile(path.resolve(__dirname, 'public/index.html'));
});
Run Code Online (Sandbox Code Playgroud)
这是假设你要插入bundle.js到index.html通过脚本标签.
| 归档时间: |
|
| 查看次数: |
10493 次 |
| 最近记录: |