【发布时间】:2021-05-09 11:15:58
【问题描述】:
所以我的 node.js 服务器连接到我的 React 应用程序,它在本地工作得很好。当我将服务器部署到 Heroku 并使用本地 React 应用程序中已部署应用程序的 URL 更改 localhost 时,我收到了这个可爱的 CORS 预检请求错误。我最初认为这是我的环境变量的问题,但似乎并非如此。这是节点服务器。
const express = require("express");
const bodyParser = require("body-parser");
const cors = require('cors');
require("dotenv").config();
const app = express();
const port = process.env.PORT || 8000;
app.use(express.static(__dirname + 'public'));
app.use(cors())
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
var nodemailer = require("nodemailer");
var transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: process.env.GM_USER,
pass: process.env.GM_PASS,
},
});
app.post("/send", (req, res) => {
var mailOptions = {
from: req.body.email,
to: "test@gmail.com",
subject: `Hello this is ${req.body.name}`,
text: `${req.body.message},
From, ${req.body.name}`,
};
transporter.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
} else {
console.log("Email sent: " + info.response)
.then(res => res.status(200).send(res));
}
});
});
// require("./routes/apiRoutes")(app)
app.listen(port, () => {
console.log(`Server is listening to port ${port}`);
});
我看过,似乎人们也遇到过类似的问题,但我似乎找不到解决方案。如果有人可以提供帮助,那就太棒了。谢谢。
【问题讨论】:
标签: node.js reactjs heroku cors