-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvite.config.ts
More file actions
46 lines (43 loc) · 1.29 KB
/
vite.config.ts
File metadata and controls
46 lines (43 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import path from 'path';
import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, '.', '');
const coopHeaders = {
'Cross-Origin-Opener-Policy': 'same-origin',
'Cross-Origin-Embedder-Policy': 'require-corp',
};
const normalizeBase = (value: string): string => {
// `./` は相対パス配信(どのサブパスでも動く)向けに許可
if (value === './') return './';
let base = value.trim();
if (!base.startsWith('/')) base = `/${base}`;
if (!base.endsWith('/')) base = `${base}/`;
return base;
};
// GitHub Pages(https://<user>.github.io/<repo>/)向けの既定値。
// リポジトリ名が異なる場合は `VITE_BASE=/your-repo/` を指定してください。
const base = mode === 'production'
? normalizeBase(env.VITE_BASE || '/komasync/')
: '/';
return {
base,
worker: {
format: 'es',
},
server: {
port: 3000,
host: '0.0.0.0',
headers: coopHeaders,
},
preview: {
headers: coopHeaders,
},
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, '.'),
}
}
};
});