这是前端食堂的第 112 篇原创
大家好,我是童欧巴。欢迎来到本期的前端食堂技术周刊,我们先来看下上周的技术资讯。
pnpm 发布了 v7.0.0,带来了大量的更新。如:不再支持 Node.js 12
、pnpm run <script>
脚本名称后的所有命令行参数都会传递给 argv 等等,更多细节请前往如上链接的官方 release 页面查阅。
Node.js 12 是最后一个非 ESM 版本,目前处于生命周期结束状态,这意味着 Node.js 对 ESM 的支持达到重要里程碑。
在四月份,Chrome 101 和 Firefox 99 稳定版发布。
Chrome 101 中包含了更容易让人类使用的 hwb() 颜色函数、以及 Priority Hints 资源优先级加载控制。
Firefox 99 中包含 Navigator.pdfViewerEnabled,用于指示浏览器是否支持 PDF 文件的内联显示。
VS Code 发布了四月更新,此次更新亮点包括:
React 官方决定出手解决原生 Hook 的短板,这篇文章这两天被疯狂转发,我也在文中给出了一些补充。如果想要了解详情,大家可以前往阅读。
Firefox 将在 102 版本中支持 Import Maps,它允许我们控制导入模块时获取哪些 URL。如果你还不了解 Import Maps,文中也给出了提案地址,请放心食用。
下面我们来看技术资料。
又一份前端状态调查报告,来自 125 个国家,共 3703 份调查,还有 19 位前端技术专家分享他们的想法并对调查结果发表评论。
这篇文章作者以自身多年的开发经历还原了 JavaScript 框架的发展历程,并划分出了四个时代。
读完后你会发现前端框架的发展潮流也是一个圈儿,兜兜转转一大圈后才感叹,还是前后端一体好。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
这条链接是 Hacker News 上大家对这一问题的探讨。有一条回答欧巴认为比较靠谱,简要整理如下:
PS:解释一下“依赖地狱”,在 Python 中,如果你有两个依赖 A 和 B,它们又依赖于不同版本的 C(@1.0.0、@2.0.0)。那么你就遇到“依赖地狱”的麻烦了,因为 Python 只能安装一个版本的 C,而 Npm 会帮你分别安装 C 的两个版本。
Jest 作者的最新系列文章,并且配套视频,内容绝对硬核。
除此之外,他还写了《从零构建 JavaScript 测试框架》、《重新思考 JavaScript 基础架构》等系列文章。
下面来看一下好文推荐,本周推荐的好文是:
好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。
你的前端食堂,吃好每一顿饭。我们下期见。
如果大家还没看过瘾,给大家推荐一下食堂技术周刊的合作伙伴,赶快把他们也抱入碗中吧~
[1]
食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly: https://github.com/Geekhyt/weekly
[2]
B 站: https://space.bilibili.com/161753278
[3]
pnpm v7.0.0: https://github.com/pnpm/pnpm/releases/tag/v7.0.0
[4]
Node 对 ESM 的支持达到重要里程碑: https://nodejs.org/en/about/releases/
[5]
四月份登陆浏览器的新功能: https://web.dev/web-platform-04-2022/
[6]
VS Code April 2022 (version 1.67): https://code.visualstudio.com/updates/v1_67
[7]
Firefox 将在 102 中支持 Import Maps: https://www.bram.us/2021/03/03/control-the-behavior-of-javascript-imports-with-import-maps/
[8]
State of frontend 2022: https://tsh.io/state-of-frontend/
[9]
JavaScript 框架的四个时代: https://www.pzuraq.com/blog/four-eras-of-javascript-frameworks
[10]
为什么 Node.js 比 PHP 更容易受到供应链攻击?: https://news.ycombinator.com/item?id=31152148
[11]
从零开始构建 JavaScript Bundler: https://cpojer.net/posts/building-a-javascript-bundler
[12]
Lerna 停止维护后,Monorepo 工具该怎么选?: https://medium.com/autodesk-tlv/lerna-has-gone-which-monorepo-is-right-for-a-node-js-backend-fc075cad51b0
[13]
WebAssembly vs JavaScript: https://ianjk.com/webassembly-vs-javascript/
[14]
Prisma 为 Rosetta Stone 筹集 4000 万美元: https://techcrunch.com/2022/05/03/prisma-raises-40m-for-its/
[15]
Logseq 获 410 万美元融资,加速开源神经元知识管理系统增长,构建新世界双链知识图谱: https://segmentfault.com/a/1190000041798996
[16]
RustConf 2022 CFP: https://cfp.rustconf.com/events/rustconf-2022
[17]
ESLint v8.15.0 released: https://eslint.org/blog/2022/05/eslint-v8.15.0-released
[18]
Vue.js devtools 发布到 Edge store: https://microsoftedge.microsoft.com/addons/detail/vuejs-devtools/olofadcdnkkjdfgjcmjaadnlehnnihnl
[19]
Nuxt 3 RC 2: https://github.com/nuxt/framework/releases/tag/v3.0.0-rc.2
[20]
pnpm 文档翻译项目进度: https://crowdin.com/project/pnpm
[21]
Felix Krause 将他的“一生”放入一个数据库中: https://howisfelix.today/
[22]
DEX 周刊: https://newsletter.dex.group/