gpt4 book ai didi

node.js - 更改为 ES6 导入与要求时的 CORS 问题

转载 作者:行者123 更新时间:2023-12-05 06:54:03 24 4
gpt4 key购买 nike

我的 Vue 应用程序的后端与前端的 url 不同。

在我的后端( Node )中,我使用的是 cors 模块。

我的应用是一个标准的 express 应用,我使用的例子是:

const express = require("express")

一切都 100% 正常。

然后我改用 ES6 并像这样使用导入:

import  express from "express";

在我的本地主机上,一切都在现场,但是当我部署时,我收到如下所示的 cors 错误。 (旧的 javascript 没问题)

blocked by CORS policy: Response to preflight request doesn't passaccess control check: No 'Access-Control-Allow-Origin' header ispresent on the requested resource.

我的 app.js 看起来像这样:

import EventEmitter from "events"
import dotenv from "dotenv"
dotenv.config()
import express from "express";
import cors from "cors";
import bodyParser from "body-parser";
import { dirname } from "path";
import path from 'path';
import pool from './routes/connection.js'
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

import chalk from "chalk";
import cookieParser from "cookie-parser";
import session from "express-session";

const app = express()

const port = process.env.PORT || 3000;

app.use(cors({
'allowedHeaders': ['sessionId', 'Content-Type', 'Authorization', 'authorization'],
'exposedHeaders': ['sessionId'],
'origin': ['https://eccentrictoad.com', 'https://www.eccentrictoad.com'],
'methods': 'GET,HEAD,PUT,PATCH,POST,DELETE',
'credentials': false,
'preflightContinue': false
}));

const emitter = new EventEmitter()
emitter.setMaxListeners(0)

app.use(express.static(path.join(__dirname, "/server/public")));

import progressRoutes from "./routes/progressRoutes.js";
import progressResultsRoutes from "./routes/progressResultRoutes.js";
import userRoutes from "./routes/userRoutes.js";
import updateRoutes from "./routes/updateRoutes.js"
app.use(progressRoutes,
progressResultsRoutes,
userRoutes,
updateRoutes
);

我可以简单地恢复到使用“require”的旧方式,但我真的很想弄清楚为什么这是一个问题。

我部署在 Apache 服务器上

最佳答案

import dotenv from "dotenv" 应该是import dotenv from "dotenv/config"。同时删除 dotenv.config()

应该可以了。 👍

关于node.js - 更改为 ES6 导入与要求时的 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65640515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com