Files
dmt-modelLibrary/web/vite.config.ts
2026-06-02 11:46:55 +08:00

40 lines
1.3 KiB
TypeScript

import { defineConfig } from "vite";
import fs from "node:fs";
import path from "node:path";
import { fileURLToPath } from "node:url";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const rootDir = path.resolve(__dirname, "../..");
function getDevHttpsConfig() {
return {
key: fs.readFileSync(path.join(rootDir, "certs/localhost+2-key.pem")),
cert: fs.readFileSync(path.join(rootDir, "certs/localhost+2.pem"))
};
}
export default defineConfig(({ command }) => ({
server: command === "serve"
? {
port: 5174,
strictPort: true,
https: getDevHttpsConfig(),
headers: {
// 关键:添加 COEP 和 COOP
"Cross-Origin-Embedder-Policy": "credentialless", // 或 "require-corp"
"Cross-Origin-Opener-Policy": "same-origin",
"Cross-Origin-Resource-Policy": "cross-origin", // 改为 cross-origin
// 开发环境允许跨域
"Access-Control-Allow-Origin": "https://localhost:3000", // 父页面的地址
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Content-Type",
"Access-Control-Allow-Credentials": "true"
},
proxy: {
"/api": "http://127.0.0.1:3001",
"/storage": "http://127.0.0.1:3001"
}
}
: undefined
}));