-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvite.config.js
More file actions
92 lines (84 loc) · 1.79 KB
/
Copy pathvite.config.js
File metadata and controls
92 lines (84 loc) · 1.79 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import Unocss from 'unocss/vite'
import { viteSingleFile } from "vite-plugin-singlefile"
import { presetWind3, presetIcons, presetTypography, transformerDirectives, extractorSplit } from "unocss";
import extractorPug from '@unocss/extractor-pug'
import path from "path";
import { fileURLToPath } from "url";
const filename = fileURLToPath(import.meta.url);
const dirname = path.dirname(filename);
export default defineConfig({
server: {
port: 7856
},
clearScreen: false,
preview: {
host: true,
},
publicDir: "public",
plugins: [
vue(),
Unocss({
presets: [
presetIcons({
scale: 1.2,
}),
presetWind3(),
presetTypography()
],
transformers: [
transformerDirectives(),
],
extractors: [
extractorPug(),
extractorSplit,
],
theme: {
breakpoints: {
'xs': '360px',
}
}
}),
viteSingleFile(),
addServiceWorkerScript(),
],
base: './',
build: {
outDir: "./dist/",
sourcemap: false,
assetsInlineLimit: 100000000,
chunkSizeWarningLimit: 100000000,
cssCodeSplit: false,
rollupOptions: {
output: {
inlineDynamicImports: true,
},
}
},
worker: {
format: 'es',
rollupOptions: {
output: {
inlineDynamicImports: true,
},
}
},
});
function addServiceWorkerScript() {
return {
name: 'vite-plugin-mini-sw',
transformIndexHtml(html) {
if (process.env.NODE_ENV === 'production') {
return html.replace('</head>', `
<script async defer src="https://stat.defucc.me/script.js" data-website-id="fc69dca0-b383-4647-a9db-acc857d8d2c1"></script>
<script>
'serviceWorker' in navigator && window.addEventListener('load', () => { navigator.serviceWorker.register('./sw.js')});
</script>
</head>
`);
}
return html;
},
};
}