我的电脑上运行着两个服务器。服务器 1 使用 Vite,服务器 2 使用 Express。服务器 1 是我在浏览器上访问的地方,服务器 2 用于运行无法通过 Vite 运行的脚本。主页(...
我的电脑上运行着两个服务器。服务器 1 使用 Vite,服务器 2 使用 Express。服务器 1 是我在浏览器上访问的地方,服务器 2 用于运行无法通过 Vite 运行的脚本。
主页(服务器 1)中包含此脚本标签,用于调用函数。
<script src="http://localhost:9050/Test" type="module"></script>
问题是我无法访问服务器 2,因为 CORS。我查了一段时间,只知道我需要设置 CORS 标头。如何在 Vite 中执行此操作?
我发布此文章后立即意识到,即使我确实从服务器 2 获取了脚本,服务器 1 仍将运行这些功能,因此,一旦我可以获取脚本,我将使用 iframe 或嵌入元素,以便服务器 2 运行这些功能。
我相信服务器 2 上的 CORS 配置是在 Express 中设置的,而不是 Vite。您可能需要设置 Express 服务器以允许来自服务器 1 来源的请求。
app.use(cors({
origin: ['http://example.com', 'https://example.net']
}));
来源
将 example.com 替换为服务器 1 的地址。
或者,您可以使用 vite 作为 express.js 服务器的服务器代理 - 这意味着对 express.js 服务器的任何请求都会定向到给定 URL 的 vite,例如, server1.com/api
然后 vite 会将它们转发到您的 express 服务器。有关更多信息,请参阅 vite 文档。