前端周刊第三十四期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
如果外链不能访问,关注公众号「前端每周看」,里面有解决办法
大事件
用 JavaScript 构建飞机雷达系统—— 有了这样的标题,我忍不住去看看。Charlie 挖掘了一些有趣的东西,包括使用 WebUSB 与无线电交互以解码飞机传输的 ADS-B 定位信号。
12 个有用的 JavaScript 数据网格库——一些数据网格库的概要,用于提供对数据集的电子表格式视图——Zara 还分享了她在做出选择时要考虑的事项的建议。
JSON Crack:以图形形式可视化 JSON 数据——尽管有一个古怪的名称(以前称为JSON Visio 😬),但这是一个用于处理和显示 JSON 结构的便捷工具。您可以在线使用它,将图表嵌入您的站点,或下载它们以供进一步使用。
文章
JavaScript 模块中的默认导出很糟糕吗? — Lloyd 这么认为,并指出默认导出可能导致名称不匹配和混淆,因此更喜欢命名导出。不过,与往常一样,这取决于您如何使用该功能。
实现一个 Promisable — setTimeout其中一个探索更多是关于了解事物在底层是如何工作的,而不是做任何有用的事情。(如果您是 Node 用户, Timers Promises API涵盖了类似的领域。)
理解 ReactuseMemo和useCallback — 许多人发现这些钩子令人困惑。本教程详细介绍了它们的具体工作以及如何充分利用它们——所有这些都采用 Josh 通常高度可访问和引人入胜的风格。
依赖注入简介 — “从本质上讲,依赖注入是关于将以前硬编码在函数/类中的东西参数化,因此我们可以在更大程度上控制这些函数/类。”
使用 Compression Streams API 进行浏览器内压缩和解压 — 如何编写不需要自己的压缩或解压库的小型 Web 应用程序——这适用于 Chrome 和 Safari 技术预览版 152。
使用 Three.js 制作变形 3D 球体 — 一种引人注目的现代 Web 效果。包括 CodePen 演示。
将 Angular 组件带到 Astro Islands — Astro对多个框架提供开箱即用的支持,但 Angular 不是其中之一。Brandon 使用他创建的一个名为 Analog 的项目在 Astro 站点中启用 Angular 组件。
框架发布
NodeBB 2.5 – 基于 Node.js 的论坛软件。 Faker 7.5 – 按需生成虚拟数据。 ReacType 13 - React 应用程序原型设计环境。 Lerna 5.5 – 面向 Monorepo 的 JS 包构建系统。 ESLint 8.23 Jest-Image-Snapshot 5.2 – 用于图像比较的 Jest 匹配器。 melonJS 13.3 – 基于浏览器的 2D 游戏引擎。 peaks.js 2.0.5 – BBC 创建的音频波形 UI 组件。 github-script 6.2 - 在 GitHub 工作流程中使用 JS。 Create Rust App 8.2 – 在一个命令中设置 Rust + React 应用程序。 Ember Inspector 4.7 – DevTools 的 Ember 选项卡。
代码和工具
Lusift:为您的 Web 应用程序创建产品演练的库:很高兴成为 vanilla,但也集成了 React 和 Vue。
Derive Type: Generate Type Definitions for JS Automatically From Tests :通过运行测试来动态获取类型以捕获值组合 — 这个想法是为了帮助您在开发功能时管理事物,特别是在您无法使用 TypeScript 的情况下。
Hyper Fetch: A Turbocharged Fetch Library:创建者称其为“Axios 和 react-query 的混合体,具有高级持久性选项”。它与后端无关,提供开箱即用的队列、缓存、持久性甚至离线支持。
Partytown 0.7:在 Web Worker 中运行第三方脚本:想法很简单:在单独的线程(在 Web Worker 中)运行资源密集型脚本,让主线程保持响应。v0.7 添加了一个在主线程上执行某些脚本的选项,这在某些情况下可能很有用(提供了一个示例)。
Sandpack:用于创建您自己的实时运行代码编辑体验的组件工具包:由 CodeSandbox 的人员创建。
TestCafe v2.0.0:自动化的端到端测试工具:一个流行且长期存在的测试工具达到了一个新的里程碑,值得注意的是,它是第一个包含重大更改的更新。所以如果你是用户,请密切关注。