From ea38216ce7beb5757ae987b34843f50dbc624116 Mon Sep 17 00:00:00 2001 From: deary Date: Sun, 23 Nov 2025 21:16:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(tree-shaking):=20=E6=8C=89=E9=9C=80?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E8=AE=A9=E4=BB=A3=E7=A0=81=E6=9B=B4=E8=BD=BB?= =?UTF-8?q?=E3=80=81=E6=9B=B4=E6=B8=85=E6=99=B0=E3=80=81=E6=9B=B4=E5=8F=AF?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 减小打包体积:只引入需要的函数,避免整个库被打包。 更好 tree-shaking:打包工具能明确摇掉未使用的代码。 提高可读性:直接看到用的是 concat,不用再通过 _。 更易维护:避免滥用全量 lodash,后续替换或优化更方便。 --- pages/activity/groupon/order.vue | 4 ++-- pages/activity/index.vue | 4 ++-- pages/chat/components/select-popup.vue | 4 ++-- pages/commission/commission-ranking.vue | 4 ++-- pages/commission/components/commission-log.vue | 4 ++-- pages/commission/goods.vue | 4 ++-- pages/commission/order.vue | 4 ++-- pages/commission/promoter.vue | 4 ++-- pages/commission/team.vue | 6 +++--- pages/commission/wallet.vue | 4 ++-- pages/coupon/detail.vue | 4 ++-- pages/coupon/list.vue | 6 +++--- pages/goods/comment/list.vue | 4 ++-- pages/goods/list.vue | 4 ++-- pages/index/category.vue | 4 ++-- pages/order/aftersale/list.vue | 4 ++-- pages/order/list.vue | 5 ++--- pages/pay/recharge-log.vue | 4 ++-- pages/user/address/edit.vue | 4 ++-- pages/user/goods-collect.vue | 4 ++-- pages/user/goods-log.vue | 4 ++-- pages/user/wallet/money.vue | 4 ++-- pages/user/wallet/score.vue | 4 ++-- 23 files changed, 48 insertions(+), 49 deletions(-) diff --git a/pages/activity/groupon/order.vue b/pages/activity/groupon/order.vue index a93cc6e0..e5e27897 100644 --- a/pages/activity/groupon/order.vue +++ b/pages/activity/groupon/order.vue @@ -67,7 +67,7 @@ import { reactive } from 'vue'; import { onLoad, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app'; import sheep from '@/sheep'; - import _ from 'lodash-es'; + import { concat } from 'lodash-es'; import { formatOrderColor } from '@/sheep/hooks/useGoods'; import { resetPagination } from '@/sheep/helper/utils'; import CombinationApi from '@/sheep/api/promotion/combination'; @@ -121,7 +121,7 @@ if (code !== 0) { return; } - state.pagination.list = _.concat(state.pagination.list, data.list); + state.pagination.list = concat(state.pagination.list, data.list); state.pagination.total = data.total; state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore'; } diff --git a/pages/activity/index.vue b/pages/activity/index.vue index 95739155..33ca183f 100644 --- a/pages/activity/index.vue +++ b/pages/activity/index.vue @@ -63,7 +63,7 @@ import { reactive } from 'vue'; import { onLoad, onReachBottom } from '@dcloudio/uni-app'; import sheep from '@/sheep'; - import _ from 'lodash-es'; + import { concat } from 'lodash-es'; import RewardActivityApi from '@/sheep/api/promotion/rewardActivity'; import SpuApi from '@/sheep/api/product/spu'; import { appendSettlementProduct } from '@/sheep/hooks/useGoods'; @@ -131,7 +131,7 @@ } appendSettlementProduct(data.list, res.data); }); - state.pagination.list = _.concat(state.pagination.list, data.list); + state.pagination.list = concat(state.pagination.list, data.list); state.pagination.total = data.total; state.loadStatus = state.pagination.list.length < state.pagination.total ? 'more' : 'noMore'; mountMasonry(); diff --git a/pages/chat/components/select-popup.vue b/pages/chat/components/select-popup.vue index 60711af2..6fc94799 100644 --- a/pages/chat/components/select-popup.vue +++ b/pages/chat/components/select-popup.vue @@ -32,7 +32,7 @@