代码分割和懒加载通过拆分代码并按需加载,减少初始加载时间。使用动态import实现模块懒加载,React中结合lazy与Suspense实现路由级分割,配合预加载和公共代码分离优化性能体验。

代码分割和懒加载是提升 JavaScript 应用性能的关键手段,尤其在大型单页应用中效果显著。通过将代码拆分成更小的块,并按需加载,可以减少初始加载时间,加快页面渲染速度。
代码分割是指将原本打包成一个大 bundle 的 JavaScript 文件拆分为多个较小的文件。这些文件可以在需要时动态加载,而不是在页面启动时全部加载。
现代构建工具如 Webpack、Vite 和 Rollup 都原生支持代码分割。最常见的实现方式是使用 动态 import() 语法:
// 按需加载某个模块
button.addEventListener('click', () => {
import('./module/lazyModule').then(module => {
module.default();
});
});
Webpack 会自动将 lazyModule.js 打包为独立的 chunk,在用户触发点击事件时才加载。
立即学习“Java免费学习笔记(深入)”;
在基于路由的应用中(如 React 或 Vue),可以对不同页面进行懒加载,避免一次性加载所有页面资源。
以 React 为例,结合 React.lazy 和 Suspense 可实现组件级懒加载:
const Home = lazy(() => import('./pages/Home'));
const About = lazy(() => import('./pages/About'));
<p>function App() {
return (
<Suspense fallback="加载中...">
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Suspense>
);
}</p>这样,只有当用户访问对应路由时,相关组件才会被加载。
系统特点:功能简洁实用。目前互联网上最简洁的企业网站建设系统!原创程序代码。非网络一般下载后修改的代码。更安全。速度快!界面模版分离。原创的分离思路,完全不同于其他方式,不一样的简单感受!搜索引擎优化。做了基础的seo优化。对搜索引擎更友好系统功能关于我们:介绍企业介绍类信息,可自由添加多个介绍栏目!资讯中心:公司或行业资讯类内容展示。可自由添加多个资讯内容!产品展示:支持类别设置,可添加产品图片
0
懒加载虽然节省了初始资源,但可能带来加载延迟。可通过 webpackPreload 或 webpackPrefetch 提前加载关键资源。
使用注释语法控制加载时机:
// 预加载:资源优先级高,立即下载 import(/* webpackPreload: true */ './criticalModule'); <p>// 预获取:空闲时加载,适合非关键模块 import(/<em> webpackPrefetch: true </em>/ './futureModule');</p>
预加载适用于即将使用的功能模块,而预获取更适合后续导航可能用到的代码。
将第三方依赖(如 lodash、moment 等)单独打包,可利用浏览器缓存机制,避免因业务代码更新导致 vendor 重新下载。
在 Webpack 配置中使用 SplitChunksPlugin:
optimization: {
splitChunks: {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\/]node_modules[\/]/,
name: 'vendors',
chunks: 'all',
},
},
},
}
这会把 node_modules 中的模块提取到独立的 vendors.chunk.js 中,提升缓存利用率。
基本上就这些。合理运用代码分割和懒加载,配合构建工具的能力,能显著降低首屏加载时间,提升用户体验。关键是根据业务场景决定拆分粒度,避免过度分割带来的请求开销。
以上就是JavaScript_代码分割与懒加载优化的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号