组件库支持按需加载
组件库支持按需加载
技术学习|2024-2-5|最后更新: 2024-3-10
type
status
date
slug
summary
tags
category
icon
password
Blocking
Blocked by
top
URL
Sub-item
Parent item

按需引入

直接指明组件的具体位置。

通过babel插件

使用babel插件是目前大多数组件库实现按需引入的方式。
ElementUI使用的是babel-plugin-component
antd 使用的是babel-plugin-import
原理:利用babel将全局import代码转换为按需引入代码

Tree Shaking

利用esm 支持静态编译的特性,在编译阶段利用AST做死区分析,将无用的代码删掉。
操作:
  • 首先组件库需要输出es modules模块规范,
  • package.json中配置sideEffetsmodule
    • module :指明esm的入口文件
    • sideEffets : 指明具有副作用的文件,比如一些全局样式文件,不会被Tree Shaking删掉。
  • 使用者需要使用支持tree Shaking的打包工具,例如webpackroolup,开启tree-sharking。
 
 
鼠标、键盘事件前端模块化输出
Loading...