36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
|
|
import vue from "@vitejs/plugin-vue";
|
|||
|
|
import { viteMockServe } from "vite-plugin-mock";
|
|||
|
|
|
|||
|
|
import createAutoImport from "./auto-import";
|
|||
|
|
import createSvgIcon from "./svg-icon";
|
|||
|
|
import createCompression from "./compression";
|
|||
|
|
import createSetupExtend from "./setup-extend";
|
|||
|
|
|
|||
|
|
export default function createVitePlugins(
|
|||
|
|
viteEnv,
|
|||
|
|
isBuild = false,
|
|||
|
|
command = "serve"
|
|||
|
|
) {
|
|||
|
|
const vitePlugins = [vue()];
|
|||
|
|
|
|||
|
|
// 开发环境启用mock,需要在其他插件之前注册,确保优先处理请求
|
|||
|
|
if (!isBuild) {
|
|||
|
|
vitePlugins.push(
|
|||
|
|
viteMockServe({
|
|||
|
|
mockPath: "mock",
|
|||
|
|
enable: command === "serve", // 仅在开发服务器启动时启用
|
|||
|
|
supportTs: false,
|
|||
|
|
watchFiles: true, // 监听文件变化
|
|||
|
|
logger: true, // 显示请求日志,方便调试
|
|||
|
|
})
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
vitePlugins.push(createAutoImport());
|
|||
|
|
vitePlugins.push(createSetupExtend());
|
|||
|
|
vitePlugins.push(createSvgIcon(isBuild));
|
|||
|
|
isBuild && vitePlugins.push(...createCompression(viteEnv));
|
|||
|
|
|
|||
|
|
return vitePlugins;
|
|||
|
|
}
|