探讨了页面加载卡顿的原因并提出了多种优化方法。主要原因包括项目包或第三方脚本过大、JavaScript 执行阻塞页面加载、图片体积大且多等。优化策略包括构建缩包按需加载、减少图片体积等。文章还详细介绍了如何通过 Webpack 插件分析项目中用到的 npm 包及大小,以及如何通过调整图片尺寸、格式转换、压缩等方式减小图片体积。
探讨了微服务架构的原则及其复杂性,涵盖服务拆分、演化式架构、集成方式、测试策略、监控技术和安全实践。强调自动化的重要性,并建议在不了解领域时优先构建单块系统后逐步拆分。通过拥抱变化和持续改进,微服务可实现更灵活的系统设计与扩展。
介绍了浏览器缓存机制的两种方式:强缓存和协商缓存。强缓存通过 Expires 和 Cache-Control 实现,本地直接读取资源;协商缓存通过 Last-Modified / If-Modified-Since 和 Etag / If-None-Match 判断是否更新,命中时返回 304 状态码以减少资源加载。
介绍了通过 git 命令清除缓存的具体操作步骤,包括使用 git rm 和 git add 清理缓存文件,并提交更改记录以完成推送,适用于代码仓库的缓存管理和版本控制优化。
介绍了 manifest 的离线缓存功能及其优化加载速度的作用,适用于离线场景的应用如 H5、静态页面等。分析了其更新滞后、全量加载等问题,并指出其逐步被废弃的趋势。通过示例展示配置方法,强调 manifest 更适合离线工具类应用,不适用于频繁更新的网站。
讲解了 localStorage 的定义、属性及常用方法,包括 setItem、getItem、removeItem 和 clear 的使用方式。介绍了如何存储和读取复杂数据类型,并通过监听 storage 事件实现浏览器标签间通信。强调 localStorage 的使用限制,如同域名限制、低版本浏览器兼容性及移动端潜在问题,并提供跨域通信的解决方案。