0

0

JavaScript中的代码分割(Code Splitting)和懒加载(Lazy Loading)策略有哪些?

紅蓮之龍

紅蓮之龍

发布时间:2025-10-01 20:12:01

|

634人浏览过

|

来源于php中文网

原创

JavaScript代码分割和懒加载通过拆分代码并按需加载,显著优化大型单页应用的性能。1. 基于路由的分割:React中使用React.lazy结合Suspense,Vue中利用动态import(),实现页面级代码分离;2. 按功能模块分割:将非核心功能如图表、富文本编辑器等延迟加载,用户触发时再导入;3. 第三方库分离:通过Webpack或Vite配置splitChunks,将node_modules中依赖提取为独立chunk,提升缓存利用率;4. 预加载与预获取:使用webpackPrefetch和webpackPreload指令,在空闲或关键时机提前加载后续资源。合理组合这些策略可有效降低首屏加载时间,提升用户体验。

javascript中的代码分割(code splitting)和懒加载(lazy loading)策略有哪些?

JavaScript中的代码分割和懒加载主要用于优化应用的加载性能,尤其在大型单页应用中效果显著。通过将代码拆分成更小的块,按需加载,可以减少初始加载时间,提升用户体验。

1. 基于路由的代码分割

在使用React、Vue等前端框架时,常见的做法是根据页面路由进行代码分割。每个路由对应的组件单独打包,访问该路由时才加载对应代码。

实现方式:

  • React 中结合 React.lazy 和 Suspense:
  • const Home = React.lazy(() => import('./Home'));const About = React.lazy(() => import('./About'));
  • Vue 中使用动态 import():
  • const routes = [ { path: '/home', component: () => import('./views/Home.vue') }];

2. 按功能模块分割

将非核心功能(如弹窗、图表、富文本编辑器)独立打包,用户触发相关操作时再加载。

立即学习Java免费学习笔记(深入)”;

适用场景:

燕雀Logo
燕雀Logo

为用户提供LOGO免费设计在线生成服务

下载
  • 用户点击“导出报表”才加载 Excel 处理库(如 xlsx)
  • 打开帮助中心时加载 Markdown 渲染器
  • 使用 import() 动态导入:
  • button.addEventListener('click', () => { import('./chartModule').then(module => module.renderChart());});

3. 第三方库分离(Vendor Splitting)

利用构建工具(如 Webpack、Vite)配置,将第三方依赖(如 lodash、moment、axios)提取到单独的 chunk 中。

优势:

  • vendor 文件更新频率低,利于浏览器缓存
  • 避免每次业务代码变更都重新下载整个包
  • Webpack 配置示例:
  • optimization: { splitChunks: { chunks: 'all', cacheGroups: { vendor: { test: /[\\/]node_modules[\\/]/, name: 'vendors', chunks: 'all', } } }}

4. 预加载与预获取(Preload & Prefetch)

在关键资源加载后,提前加载可能用到的代码,提升后续交互响应速度。

使用方式:

  • webpackPrefetch: true —— 空闲时加载
  • import(/* webpackPrefetch: true */ './HeavyComponent');
  • webpackPreload: true —— 与当前资源并行加载
  • 生成 标签,由浏览器管理加载时机

基本上就这些常见策略。合理组合使用,能有效降低首屏加载时间,提高应用响应速度。关键是根据用户行为设计加载逻辑,不盲目拆分。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

530

2023.09.20

excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

1398

2023.07.25

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

408

2023.07.31

excel复制表格怎么复制出来和原来一样大
excel复制表格怎么复制出来和原来一样大

本专题为大家带来excel复制表格怎么复制出来和原来一样大相关文章,帮助大家解决问题。

562

2023.08.02

excel表格斜线一分为二
excel表格斜线一分为二

在Excel表格中,我们可以使用斜线将单元格一分为二。本专题为大家带来excel表格斜线一分为二怎么弄的相关文章,希望可以帮到大家。

1243

2023.08.02

excel斜线表头一分为二
excel斜线表头一分为二

excel斜线表头一分为二的方法有使用合并单元格功能方法、使用文本框功能方法、使用自定义格式方法。本专题为大家提供excel斜线表头一分为二相关的各种文章、以及下载和课程。

368

2023.08.02

绝对引用的输入方法
绝对引用的输入方法

绝对引用允许在公式中引用一个固定的单元格,而不会随着公式的复制和粘贴而改变引用的单元格。本专题为大家提供绝对引用相关内容的文章,大家可以免费体验。

4526

2023.08.09

java导出excel
java导出excel

在Java中,我们可以使用Apache POI库来导出Excel文件。本专题提供java导出excel的相关文章,大家可以免费体验。

408

2023.08.18

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号