41 lines
1.4 KiB
TypeScript
41 lines
1.4 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 }) => ({
|
|
base: command === "build" ? "/modelLibrary/" : "/",
|
|
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
|
|
}));
|