webpack打包分析和异步代码预加载懒加载

打包分析

package.json
使用analyse
添加--profile --json > stats.json参数,意为将打包过程的描述放在stats.json文件中。
通过这个文件,我们可以借助一些网站进行分析。

"dev-analyse": "webpack --profile --json > stats.json --config ./build/webpack.dev.js"

分析网站:
1、http://webpack.github.io/analyse/
2、https://alexkuz.github.io/webpack-chart/
3、https://chrisbateman.github.io/webpack-visualizer/
4、https://github.com/webpack-contrib/webpack-bundle-analyzer
5、https://webpack.jakoblind.no/optimize/
6、https://github.com/bundle-stats/bundle-stats

预加载

/* webpackPrefetch: true */:等主代码加载完成后,预加载引入的异步代码,而不是等到异步代码触发后再去加载。等到异步代码触发时,会再次加载,但此时缓存中已经加载过了,所以执行效率会很高。
关于性能优化,提倡多写异步代码,提高代码使用率,而不是从缓存入手。

// click.js
function handleClick() {
    const element = document.createElement('div');
    element.innerHTML = 'Dell Lee';
    document.body.appendChild(element);
}

export default handleClick;

// index.js
document.addEventListener('click', () =>{
    import(/* webpackPrefetch: true */ './click.js').then(({default: func}) => {
        func();
    })
});

代码使用率
1、打开开发者工具F12
2、windows: ctrl+shift+p
    mac: command+shift+p
3、选择show coverage选项

文档

code-splitting/#bundle-analysis

网站导航

网站导航

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目录第1章 webpack简介 11.1 webpack是什么? 11.2 官网地址 21.3 为什么使用 web...
    lemonzoey阅读 5,704评论 0 1
  • 系列第二篇,来看看基于 React 路由分块的页面加载优化。 原文地址:Progressive Web Apps ...
    MarkZhai阅读 6,049评论 0 7
  • 一、入坑初探 1. 设置项目为私有 我们只需要在package.json文件中配置,因为是私有项目不需要向外部暴露...
    zxhnext阅读 6,251评论 0 15
  • 2017年头年尾都在写论文中度过。 回头看看这一年走过的路,与2016非常相似 2016我研二,还零星有几门选修课...
    流浪的菇凉阅读 1,283评论 2 0
  • 那年我二十四岁,在省会城市中心的一个动画公司工作,工作内容是每天坐在写字间里用电脑写作,每周上班六天,休息一天,每...
    清清影阅读 4,565评论 1 5

友情链接更多精彩内容