@lx-frontend/uniapp-global-components-register-plugin

2.2.1 • Public • Published

uniapp-global-components-register-plugin

安装

npm install --save-dev @lx-frontend/uniapp-global-components-register-plugin

该插件解决什么问题?

uniapp项目中,/components文件夹下的所有组件默认被打包进主包,导致主包体积过大。实际项目中,主包页面没有使用的组件都可以分散到各个子包中去,但是操作上有难度,因为在编写一个组件时,可能暂时无法确定组件是否会在其他分包中使用,所以也就无法确定是否应该将组件放进子包还是主包。 该插件将用来解决这个问题。插件通过分析最终生成的小程序页面json文件,确定每个分包实际使用了哪些组件,然后将主包没有使用到的组件从主包移动到各个分包中,并修改代码对组件引用的位置。

优点

将所有主包页面没有使用的组件从主包中剔除,并分散到各个子包,减小了主包体检。在后续的开发中,只要主包页面保持不变,添加组件将不会再增加主包体积。

缺点

插件采用了最极端的做法,即,只要主包没有使用的组件,一律打包进分包,而在实际情况中,两个分包可能会共用一个不在主包的组件,这会导致该组件在两个分包中各存在一份相同代码,也就是冗余问题。更精细的做法是,统计组件被分包引用的次数,并设置阈值,超过阈值则打包进主包。但考虑到大部分分包体积实际并不大,并且对体验影响没有主包重要,所以暂时不处理这个问题。

Readme

Keywords

none

Package Sidebar

Install

npm i @lx-frontend/uniapp-global-components-register-plugin

Weekly Downloads

15

Version

2.2.1

License

ISC

Unpacked Size

11.2 kB

Total Files

3

Last publish

Collaborators

  • liuzihao0413
  • ruqimobile
  • haiyulu
  • erica.liuyj
  • pok.h
  • chenzian
  • azumia
  • jeely
  • lichao.franklee
  • mind29
  • yuki.liu
  • lixinleon
  • frontbot
  • owen.huang
  • tiny.tu
  • simba.wang