Node.js RESTAPI与使用CORS的MotorveJS。在本地机器上工作,但在Amazon或Heroku上不工作

Node.js RESTAPI与使用CORS的MotorveJS。在本地机器上工作,但在Amazon或Heroku上不工作,node.js,heroku,express,cors,locomotivejs,Node.js,Heroku,Express,Cors,Locomotivejs,RESTAPI与使用CORS的MotorveJS。在本地机器上工作,但在Amazon或Heroku上不工作 我用MotorveJS做了一个RESTAPI,现在我正试图在上面启用CORS。 我在我的“all”环境(config/environments/all.js)中添加了以下代码 它在我的本地机器上工作,但是当我将它部署到Heroku或AWS时,当客户端发送OPTIONS命令时,我收到了404HTTP错误 为了隔离问题,我开发了一个简单的Express应用程序,代码如下: var expres

RESTAPI与使用CORS的MotorveJS。在本地机器上工作,但在Amazon或Heroku上不工作

我用MotorveJS做了一个RESTAPI,现在我正试图在上面启用CORS。 我在我的“all”环境(config/environments/all.js)中添加了以下代码

它在我的本地机器上工作,但是当我将它部署到Heroku或AWS时,当客户端发送OPTIONS命令时,我收到了404HTTP错误

为了隔离问题,我开发了一个简单的Express应用程序,代码如下:

var express = require('express');
var app = express();

app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With,Authentication");
  next();
 });

app.get('/test', function(req, res){
    res.set('Content-Type', 'application/json');
    res.send({ 'Hello' : 'World' });
});

var port = process.env.PORT || 5000;

app.listen(port);
console.log('Listening on port ' + port);
这段代码在部署到Heroku时有效

你们对为什么它在我的本地机器上工作而在服务器上不工作有什么看法吗?

我找到了一个解决方案:

现在我正在使用这个连接中间件:

然后我只是更改了我的all.js文件,添加了以下行:

this.use(cors());
我把它部署在Heroku上,现在可以用了

this.use(cors());