写点什么

前端食堂技术周刊第 36 期:pnpm v7.0.0、Node 对 ESM 的支持达到重要里程碑、四月份登陆浏览器的新功能、VS Code April 2022

作者:童欧巴
  • 2022 年 5 月 08 日
  • 本文字数:1848 字

    阅读完需:约 6 分钟

前端食堂技术周刊第 36 期:pnpm v7.0.0、Node 对 ESM 的支持达到重要里程碑、四月份登陆浏览器的新功能、VS Code April 2022

美味值:🌟🌟🌟🌟🌟


口味:羊汤烩面


本期周刊视频版已在 B 站【前端食堂】同步发送,如果有喜欢看视频的堂友可以移步 B 站 进行观看。

本期摘要

  • pnpm v7.0.0

  • Node 对 ESM 的支持达到重要里程碑

  • 四月份登陆浏览器的新功能

  • VS Code April 2022

  • React 官方团队出手,补齐原生 Hook 短板

  • Firefox 将在 102 中支持 Import Maps

  • State of frontend 2022

  • JavaScript 框架的四个时代

  • 为什么 Node.js 比 PHP 更容易受到供应链攻击?

  • 从零开始构建 JavaScript Bundler


大家好,我是童欧巴。欢迎来到本期的前端食堂技术周刊,我们先来看下上周的技术资讯。

技术资讯

  1. pnpm v7.0.0


pnpm 发布了 v7.0.0,带来了大量的更新。如:不再支持 Node.js 12pnpm run <script> 脚本名称后的所有命令行参数都会传递给 argv 等等,更多细节请前往如上链接的官方 release 页面查阅。


  1. Node 对 ESM 的支持达到重要里程碑


Node.js 12 是最后一个非 ESM 版本,目前处于生命周期结束状态,这意味着 Node.js 对 ESM 的支持达到重要里程碑。


  1. 四月份登陆浏览器的新功能


在四月份,Chrome 101 和 Firefox 99 稳定版发布。


Chrome 101 中包含了更容易让人类使用的 hwb() 颜色函数、以及 Priority Hints 资源优先级加载控制。


Firefox 99 中包含 Navigator.pdfViewerEnabled,用于指示浏览器是否支持 PDF 文件的内联显示。


  1. VS Code April 2022 (version 1.67)


VS Code 发布了四月更新,此次更新亮点包括:


  • 资源管理器文件嵌套

  • 「设置」里的编辑器搜索过滤器

  • 括号对高亮着色

  • 切换嵌套提示

  • 拖放以创建 Markdown 链接

  • 提升插件作者的开发者体验

  • 新的 Rust 语言指南


  1. React 官方团队出手,补齐原生 Hook 短板


React 官方决定出手解决原生 Hook 的短板,这篇文章这两天被疯狂转发,我也在文中给出了一些补充。如果想要了解详情,大家可以前往阅读。


  1. Firefox 将在 102 中支持 Import Maps


Firefox 将在 102 版本中支持 Import Maps,它允许我们控制导入模块时获取哪些 URL。如果你还不了解 Import Maps,文中也给出了提案地址,请放心食用。


下面我们来看技术资料。

技术资料

  1. State of frontend 2022


又一份前端状态调查报告,来自 125 个国家,共 3703 份调查,还有 19 位前端技术专家分享他们的想法并对调查结果发表评论。


  1. JavaScript 框架的四个时代


这篇文章作者以自身多年的开发经历还原了 JavaScript 框架的发展历程,并划分出了四个时代。


  • 远古时代:无框架

  • 框架初期:Backbone.js、Angular 1、Knockout.js、SproutCore、Ember.js、Meteor.js

  • 以组件为中心的时代:React.js、Vue.js、Svelte、Polymer.js

  • 全栈框架:Next.js、Nuxt.js、Remix、SvelteKit、Gastby 和 Astro


读完后你会发现前端框架的发展潮流也是一个圈儿,兜兜转转一大圈后才感叹,还是前后端一体好。


众里寻他千百度,蓦然回首,那人却在灯火阑珊处。


  1. 为什么 Node.js 比 PHP 更容易受到供应链攻击?


这条链接是 Hacker News 上大家对这一问题的探讨。有一条回答欧巴认为比较靠谱,简要整理如下:


  • 首先,供应链攻击在所有开源生态系统中都存在,何况 JavaScript 的生态系统规模比其他任何生态系统都要庞大,所以即使是向包中注入恶意代码的小概率事件也可能会经常发生。

  • 其次,拿 Python 对比,因为经典问题“依赖地狱”的存在,导致 Python 维护人员在添加新的依赖项时要三思而后行,以免给用户带来“依赖地狱”的问题。但 Npm 包的维护者没有这样的限制,在某种程度上,更好的开发体验导致了整个模块的生态系统“太好了”。


PS:解释一下“依赖地狱”,在 Python 中,如果你有两个依赖 A 和 B,它们又依赖于不同版本的 C(@1.0.0、@2.0.0)。那么你就遇到“依赖地狱”的麻烦了,因为 Python 只能安装一个版本的 C,而 Npm 会帮你分别安装 C 的两个版本。


  1. 从零开始构建 JavaScript Bundler


Jest 作者的最新系列文章,并且配套视频,内容绝对硬核。


除此之外,他还写了《从零构建 JavaScript 测试框架》、《重新思考 JavaScript 基础架构》等系列文章。

好文推荐

下面来看一下好文推荐,本周推荐的好文是:


  1. Lerna 停止维护后,Monorepo 工具该怎么选?

  2. WebAssembly vs JavaScript

其他信息


好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。


你的前端食堂,吃好每一顿饭。我们下期见。

发布于: 刚刚阅读数: 2
用户头像

童欧巴

关注

你远道而来这世间,想必也是因为热爱吧。 2019.06.10 加入

公众号“前端食堂”CEO

评论

发布
暂无评论
前端食堂技术周刊第 36 期:pnpm v7.0.0、Node 对 ESM 的支持达到重要里程碑、四月份登陆浏览器的新功能、VS Code April 2022_JavaScript_童欧巴_InfoQ写作社区