/sockjs-node/info?t=1515290831331 将 MEAN 应用程序部署到 Heroku 后

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”问题的正确解决方案吗?