perf(seller): Element Plus 按需引入 + 移除未使用的 vue-lazyload

- plugins/element.js 不再全量注册,组件由 unplugin-vue-components 按模板自动按需解析;
  v-loading 指令与全局配置(zhCn/size)单独保留
- chunk-framework 344KB → 279KB(gzip,-19%);样式仍走全量 CSS 保证覆盖顺序不变
- 修复 unplugin-vue-components 与 minimatch 的版本兼容(锁定 0.27.5 + resolutions 嵌套 v9)
- 移除全局注册但零使用的 vue-lazyload
This commit is contained in:
lifenlong
2026-10-13 07:39:35 +08:00
parent 88fc1b0b2a
commit 2a2c3f8174
5 changed files with 160 additions and 35 deletions

View File

@@ -8,7 +8,6 @@ import { setupLegacyMessage } from "@/utils/message";
import liliDialog from "@/views/lili-dialog";
import PriceColorScheme from "@/components/price-color-scheme.vue";
import { install as installVueQr } from "vue-qr";
import VueLazyload from "vue-lazyload";
import {
getRequest,
postRequest,
@@ -22,8 +21,6 @@ import util from "@/libs/util";
import { md5 } from "@/utils/md5.js";
import * as filters from "@/utils/filters";
import config from "@/config/index";
import imgError from "./assets/img-error.png";
import loadingGif from "./assets/loading2.gif";
const { aMapSecurityJsCode, mainColor } = config;
@@ -44,11 +41,6 @@ setupElementPlus(app);
setupLegacyMessage(app);
installVueQr(app);
app.use(VueLazyload, {
error: imgError,
loading: loadingGif,
});
app.use(router);
app.use(createPinia());

View File

@@ -1,11 +1,18 @@
import ElementPlus from "element-plus";
import { ElLoading, provideGlobalConfig } from "element-plus";
import zhCn from "element-plus/es/locale/lang/zh-cn";
import "element-plus/dist/index.css";
import "@/styles/element.scss";
// Element Plus 组件经 unplugin-vue-components 按需引入(见 vue.config.js),
// 此处仅注册指令(v-loading 不走按需解析)与全局配置(语言/尺寸)
export function setupElementPlus(app) {
app.use(ElementPlus, {
locale: zhCn,
size: "default",
});
app.use(ElLoading);
provideGlobalConfig(
{
locale: zhCn,
size: "default",
},
app,
true
);
}