Open post Performance

前端性能和加载体验优化实践 (附: PWA、离线包、内存优化、预渲染)

探讨了页面加载卡顿的原因并提出了多种优化方法。主要原因包括项目包或第三方脚本过大、JavaScript 执行阻塞页面加载、图片体积大且多等。优化策略包括构建缩包按需加载、减少图片体积等。文章还详细介绍了如何通过 Webpack 插件分析项目中用到的 npm 包及大小,以及如何通过调整图片尺寸、格式转换、压缩等方式减小图片体积。

读书笔记:《数据可视化实战:使用D3设计交互式图表》 – [美] Scott Murray 著 / 李松峰 译

D3 是一个模块化的 JavaScript 库,用于数据可视化,将数据映射为图形。通过绑定数据、比例尺、事件监听器和过渡动画等功能,D3 提供了灵活且强大的工具来创建动态视觉效果。模块化设计让开发者可以按需加载功能,同时丰富的资源和社区支持为学习与实践提供了便利。

[转]The `new Function` syntax

介绍了通过 `new Function` 创建函数的语法与特点,其允许动态生成函数代码,但其 `[[Environment]]` 引用的是全局作用域,无法访问外部变量。这种方法适用于从服务器获取代码或动态编译函数的场景,避免了与 minifier 冲突的问题,并建议通过参数显式传递变量以提高代码的安全性和可维护性。

读书笔记:《深入理解TypeScript》 - [澳]Basarat Ali Syed 著 / 郭文超 何小磊 柳星 徐野 译

总结了 TypeScript 的优势,包括类型安全、智能提示以及对 JavaScript 的兼容性。介绍了 null 和 undefined 的差异、将 JavaScript 迁移至 TypeScript 的方法、声明文件的使用以及支持导入非代码文件的方式。同时涵盖了泛型的设计理念及使用 Conventional-Changelog 自动生成变更日志的实践。