前端周刊第二十四期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
如果外链不能访问,关注公众号「前端每周看」,里面有解决办法
大事件
AbortController 用于取消异步任务等——AbortController提供了一种无需等待响应即可随时中止 Web 请求的方法,但可以将其方便的机制应用于其他用例。
Microvium:用于微控制器的微型 JavaScript 引擎——有多小?试试 8.5 KB,空闲时只需要 34 字节的 RAM。尽管有像Espruino这样的简洁项目,但 JS 从来都不是天生适合受限环境的,但 Microvium、 Elk和low.js正在努力解决这个问题。
Vitest:一个由 Vite 提供支持的“极速”单元测试框架——将很多很酷的东西集中到一个地方,而且真的很快——如果你想在更改代码时获得近乎即时的反馈,请查看它。您可以获得 Vite 的转换器、解析器和插件、快照测试、本机代码覆盖率、组件测试、即时观看模式等等。
OneJS是一个有趣的基于 JavaScript 的脚本引擎——用于在 Unity 游戏引擎中构建 UI。有一些使用它在游戏之上创建 UI的示例代码。
文章
如何从主线程中删除 99% 的 JavaScript — Angular 的原始创建者谈到了Qwik框架,该框架采用低 JavaScript HTML-first 方法来构建前端应用程序。Partytown参与将脚本移动到 Web Workers 中,将它们从主线程中移除。
维护内部 React 组件库的注意事项 — 开发人员对维护组件库作为 DigitalOcean 大量前端应用程序使用的现有设计系统的一部分的想法。
2022 年构建 React 表单的完整指南 - 一个好的表单可以是美丽的东西——而美丽在于细节。阅读此博客,了解有关设计和构建时尚、用户友好且可访问的表单的所有信息。
深度剖析 VS Code JavaScript Debugger 功能及实现原理 - 本文将从 VSCode JavaScript Debugger 的功能入手,从源码角度分析其实现对应功能所使用的技术手段及优秀的代码设计,让大家对其中的功能及实现原理有大致理解。
关于 LowCode&ProCode 混合研发的思考 - 最近 1-2 年来低代码(LowCode)应用越来越多,从一些长尾的宜搭应用,到后台的管理系统,再到一些复杂的业务系统都开始使用低代码,低代码显著的降低了部分应用研发的门槛。
框架发布
Prettier 2.7 - 现在支持 TypeScript 4.7 语法。 Lerna 5.1 – JS monorepo 管理现在更快。 Strapi 4.2 – Node.js 无头 CMS。 Octokit.js 1.8.0 – 适用于 Node、Deno 和浏览器的 GitHub SDK。 Inferno 8.0 – 类似 Fast React 的 UI 库。 Boa 0.15 – Rust 中的实验性 JS 解析器和编译器。 Ember.js 4.5 Node.js v18.4.0 – 少量清理。
代码和工具
组件百科全书:包含 5000 多个 UI 组件的目录: Storybook是一个 UI 组件开发工具,它推出了包含 5,000 多个组件(主要是 React,但也有一些 Vue 和 Web 组件)的可视化目录——您无需成为 Storybook 用户,因为提供了回购和演示的链接。
ow 1.0: Function Argument Validation for Humans:一个流畅的 API,用于定义函数参数(例如ow(input, ow.string.minLength(5)))的约束并在失败时获得很好的错误消息。现在是一个纯 ESM 包。
zx v7.0:使用 JavaScript 编写更好的 Shell 脚本:如果编写 JavaScript 听起来比使用 bash、Perl 或 Python 更好,zx那么适合你。v7.0 是用 TypeScript 重写的,具有echo打印其他脚本的输出、within创建新的异步上下文和新的交互式 REPL 模式(后面-i)的功能。
Fx 24.0:命令行 JSON 处理工具: 如果您有一些 JSON 想要切片和切块,Fx 适合您。它最近在 Go 中从其原始 JavaScript 重写,但您仍然可以用它在 JavaScript(或 Ruby 或 Python)中编写 reducer。一个方便的工具。
Moon:JavaScript 生态系统的新构建系统:内置 Rust 以提高性能,Moon 似乎专注于可能有大量依赖项、开发人员和流程需要平衡的大型项目的功能。看到这个进一步发展会很有趣。
public-ip 6.0:快速获取您的公共 IP 地址:适用于 Node 和浏览器,并在每个上使用不同的方法。v6 允许您在 IPv6 和 IPv4 之间进行选择。