【第二十八期】2022-03-12
Geekhyt opened this issue · 0 comments
本期摘要
- ECMAScript proposal: Types as Comments
- Vitest v0.6.0
- What's New In DevTools (Chrome 100)
- How to Upgrade to the React 18 Release Candidate
- 您的 node_modules 文件夹中到底发生了什么?
- Solid.js 感觉就像我一直希望 React 成为的样子
- The Story of React
- Rust 数据结构与算法
- Red Hat 和 IBM Node.js 参考架构
- 关于依赖管理的真相 — 前端包管理器探究
技术资讯
TypeScript 官方发起了一个令人十分惊喜的提案,将类型注释添加到 JavaScript 代码中,允许这些注释由 JavaScript 外部的类型检查器检查。在运行时,JavaScript 引擎会忽略它们,将类型视为注释。
目的是使开发人员能够运行用 TypeScript、Flow 和 JavaScript 的其他静态类型超集编写的程序,而无需任何转译,前提是它们坚持使用该语言的某个相当大的子集。
对于 TypeScript 和 Flow 来说,随着时间的推移,语言降级的需求将会越来越少,所以将它们转换为 JavaScript 的主要工作就剩下了删除类型注释。
如果让 JavaScript 本身支持类型注释,那么就可以减少构建的步骤,突破 JSDoc 类型注解的限制(冗长且缺乏表现力),让用户以更简单的方式获得静态类型的好处。
Vitest 最近发布了 v0.6.0 版本,添加了文件内测试,类似于 Rust 的模块测试。如果你对它还不是很了解的话,可以通过这个链接到达官网学习。
Chrome 的第 100 个版本如约而至,Chrome DevTools 添加了如下功能:
-
在 Styles 样式窗格中查看和编辑 @supports 规则
-
Recorder 记录器面板改进(默认支持常用选择器、自定义选择器等)
-
Sources 面板调试悬停时预览类和函数属性信息
-
Performance 性能面板新增帧类别
React 18 现已作为候选版本 (RC) 提供,官方提供了详细的升级指南。
技术资料
众所周知,node_modules 文件夹是宇宙中最重的对象之一。大多数项目里 90% 的代码都来自开源,大部分我们都没有读过,它们运行在我们的笔记本电脑和服务器上,并且具备所有的权限。系统还能正常运行可以称为奇迹了。
使用 npm install 下载依赖包就好像在吃自助餐,没有人会阻止你往自己盘子里装多少食物。但如果过度放纵,也会对你的健康造成影响。
不管怎样,我们必须对交付到生产环境的代码负责,无论是我们自己编写的还是开源的。这篇文章中的 Socket 提供了快速评估包安全性和健康分数的能力。对触发安全问题的代码,可以直接跳转到导致问题的代码行,供你审查。
React 自从有了 Hooks 之后,相比 Class 组件,写起代码确实简洁了(其实还不够简洁,只是相对而言),但是因为没有响应式,我们需要主动声明依赖项,这很容易导致出错。那么 Solid.js 是怎么做的呢?可以通过这篇文章了解详情。
在 React 首次发布时,它并没有得到很好的反馈,大家都不是很接受,因为 React 与之前大家会的技术栈完全不同。
这个视频讲述了从 jQuery 到第一个流行的 JavaScript 框架 backbone.js 还有固执己见的 Angular,再到 React 框架发展的故事。
一本开源 Rust 电子书,内容包含算法分析、基本数据结构与算法,还有一些实战。共有 9 章,目录如下:
- 计算机科学
- 算法分析
- 基本数据结构
- 递归
- 查找
- 排序
- 树
- 图
- 实战
Red Hat 和 IBM 整理了一些关于 Node.js 的最佳实践。
前端的包管理器你知道几种呢?
npm、yarn、pnpm、cnpm、tnpm...
为什么要搞出这么多包管理器?每个包管理器的不同版本都存在哪些问题?什么是依赖嵌套,幽灵依赖又是什么?这篇文章会带你搞清楚上面这些问题。
好文推荐
这是一篇对 gif 本质深度的探究的文章。
看看 canvas 进化了哪些 API。