组件库按需加载
概述
组件库按需加载
: 组件库以组件为基本单位产出 js、css、less 文件,借助插件或者部分引入的写法,使得项目代码或 babel 编译后的代码中只包含使用到的组件
的 js、css、less 等
webpack 懒加载
(也称为代码分割或动态导入): webpack 将源码中的 import、require 引入的文件编译之后再根据动态加载语法配置(通常以页面路由为基本单位)将较大的代码拆分并构建出较小的 chunk 包
,应用在运行时执行到相应业务逻辑时才去加载执行对应 chunk 代码
。
总结:按需加载时在构建的时候,就去掉了不需要的代码,而懒加载是通过编译标识动态加载点延迟代码的加载时间,
基本原理
原理主要是基于动态导入
和模块打包工具
(如 Webpack、Rollup 等)的特性来实现。 其主要目标是优化前端应用的性能,通过只加载当前页面或功能所需的部分组件代码
,避免一次性加载整个组件库导致的资源浪费和初始加载时间过长。
方案一:手动引入
手动引入需要使用到的组件以及其对应的样式文件即可,借助 webpack 构件时组件库中其他未被引入的文件不会被打包(Tree Shaking 技术)
js
import ComponentBtn from "vant/lib/Componentbtn";
import "vant/lib/Componentbtn/style";
方案二:自动加载
使用插件自动引入就是插件帮我们把引入组件的写法进行了转换,最后转换成了方案一中手动加载方式的写法
js
// 源代码
import { Button } from "vant";
// 借助 babel-plugin-import 转换为
import "vant/es/button/style";
import _Button from "vant/es/button";