-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.ts
60 lines (54 loc) · 1.8 KB
/
vite.config.ts
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
import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import svgLoader from "vite-svg-loader";
import { resolve } from "path";
export default ({ command, mode }) => {
return defineConfig({
// 🐳:multiple pages
build: {
rollupOptions: {
input: {
main: resolve(__dirname, "index.html"),
// $subpage: resolve(__dirname, "pages/$subpage.html"),
},
},
},
// 🌈:cross-origin
server: {
proxy: {
// "/path": {
// target: "https://remote",
// changeOrigin: true,
// 前端请求路径不变,用于后端灰度测试替换为测试路径
// rewrite: (path) => path.replace(/^\/api/, ""),
// configure: (proxy, options) => {
// proxy 是 'http-proxy' 的实例
// }
// },
},
},
// 📦:CDN
base: mode == "development" ? "/" : loadEnv(mode, process.cwd()).STATIC_PATH,
// 🌸:alias @ for ./src
resolve: {
alias: [{ find: "@", replacement: resolve(__dirname, "./src") }],
},
// ❄️:css mixins & global vars
css: {
preprocessorOptions: {
// scss: {
// additionalData: `$injectedColor: orange;`,
// },
less: {
globalVars: {
hack: `true;
@import "./node_modules/csslab/base.less";
@import "./src/assets/css/var.less";`,
},
},
},
},
// 🍬:loaders
plugins: [vue(), svgLoader()],
});
};