45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
import vue from "@vitejs/plugin-vue";
|
|
import type { PluginOption } from "vite";
|
|
import vueJsx from "@vitejs/plugin-vue-jsx";
|
|
import Inspector from "vite-plugin-vue-inspector";
|
|
import { compressPack, report } from "./utils";
|
|
import removeConsole from "vite-plugin-remove-console";
|
|
import { useCDN } from "./cdn";
|
|
import { viteConsoleLog } from "./info";
|
|
import UnoCSS from "unocss/vite";
|
|
import { presetIcons, presetUno } from "unocss";
|
|
import UnoCssIcons from "@unocss/preset-icons";
|
|
|
|
export const plugins = (mode): PluginOption[] => {
|
|
return [
|
|
vue(),
|
|
vueJsx(),
|
|
Inspector(),
|
|
report(),
|
|
removeConsole(),
|
|
useCDN(mode),
|
|
viteConsoleLog(mode),
|
|
UnoCSS({
|
|
hmrTopLevelAwait: false,
|
|
inspector: true, // 控制台是否打印 UnoCSS inspector
|
|
presets: [
|
|
presetIcons({
|
|
extraProperties: {
|
|
display: "inline-block",
|
|
"vertical-align": "middle",
|
|
},
|
|
}),
|
|
UnoCssIcons({
|
|
// 其他选项
|
|
prefix: "i-",
|
|
extraProperties: {
|
|
display: "inline-block",
|
|
},
|
|
}),
|
|
presetUno(),
|
|
],
|
|
}),
|
|
compressPack(mode),
|
|
];
|
|
};
|