are*_*les 5 heroku node.js sockjs mean-stack
我将 mean.io 提供的 starter 用于一个简单的 MEAN 应用程序。在开发中,我对 sockjs-node 请求没有问题:
http://localhost:3000/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
但是,一旦我在 Heroku 上部署,应用程序就无法使用以下请求加载数据:
http://sleepy-escarpment-60068.herokuapp.com:8817/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
我决定使用邮递员测试该请求,但我也没有成功。但是,我在尝试从该 URL 请求数据时注意到了一个小问题。正是在 Heroku 上部署时,它添加了 Heroku 分配的端口,在我的情况下为 8817。我决定测试一个类似的 URL,但这次没有使用 heroku 的端口(8817):
http://sleepy-escarpment-60068.herokuapp.com/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以收到响应数据。因此,我的想法是在应用程序从以下位置发送请求后更改 URL 的路径:
http://sleepy-escarpment-60068.herokuapp.com:8817/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
到
http://sleepy-escarpment-60068.herokuapp.com/sockjs-node/info?t=1515290831331
Run Code Online (Sandbox Code Playgroud)
但是,我不知道该怎么做,也不知道在应用程序的何处应用此解决方案。我一直在搜索 /sockjs-node/info?t=1515290831331 问题的解决方案,人们建议使用 webpack.dev.js 文件重定向请求:
devServer: {
port: METADATA.port,
host: METADATA.host,
historyApiFallback: true,
watchOptions: {
// if you're using Docker you may need this
// aggregateTimeout: 300,
// poll: 1000,
ignored: /node_modules/
},
disableHostCheck: true,
proxy: {
'**/sockjs-node': {
changeOrigin: true,
pathRewrite: {
'**/sockjs-node': '/test'
}
},
}
Run Code Online (Sandbox Code Playgroud)
我没有成功尝试实施该解决方案。我的代码做错了吗?将我的应用程序部署到 Heroku 后,这是“/sockjs-node/info?t=1515290831331 failed to get response data”问题的正确解决方案吗?
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |