我不能让Cors中间件在我的Node.js应用程序中工作

我正在尝试使用Cors中间件,但它不工作

我遵循文档中的简单说明,但我仍然得到这个可怕的错误。

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.

谁能帮我? 这是我的后端API的index.js文件,我试图实现中间件。

 const express = require('express'); const passport = require('passport'); const http = require('http'); const morgan = require('morgan'); const LocalStrategy = require('passport-local').Strategy; let path = require('path'); let mongoose = require('mongoose'); let config = require('./config/config'); let bodyParser = require('body-parser'); let recipeRouter = require('./routes/recipeRouter'); let userRouter = require('./routes/userRouter'); /// Here, I required the middleware. let cors = require('cors'); const app = express(); // set up DB mongoose.connect(config.mongoUrl); let db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function () { // we're connected! console.log("Connected correctly to server"); }); // Set up App app.use(morgan('combined')); /* This is another attempt to get this to work. Tried it, but didn't work. app.use(function(req, res, next){ const origin = req.get('origin'); res.header('Access-Control-Allow-Origin', "*"); res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE'); /// res.header('Access-Control-Allow-Methods', true); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization, Cache-Control, Pragma, x-auth'); }); */ /// Here I try to apply the middleware. app.use(cors()); app.use(bodyParser.json({ limit: '50mb' })); app.use(bodyParser.urlencoded({ extended: false, limit: '50mb' })); // !! NEW !! // app.use(express.static(path.join(__dirname, 'public'))); app.use('/users', userRouter); app.use('/recipes',recipeRouter); // Set up Server const port = process.env.PORT || 3000; const server = http.createServer(app); server.listen(port); 

谁能帮忙? 我错过了什么吗?