本期看点:深入探讨了 Node.js 应用程序中一个出人意料的安全漏洞:即便在只读文件系统中,攻击者仍可能实现远程代码执行。同时关注 Wasmer 5.0 对 Node.js 的全新支持,NPM Chart 这款可视化 npm 包下载量统计工具,Faker v9.2 的虚拟数据生成增强,以及 Edge.js 实现的 .NET 与 Node.js 互操作方案。
编辑:TimLi
🔥 本周热门
为什么代码安全很重要——即使在加固环境中也是如此 —— 这是一篇图文并茂的深度分析文章,详细介绍了恶意攻击者如何将 Node 应用程序中的文件写入漏洞转变为远程代码执行漏洞,即使文件系统被设置为只读模式也不例外。
Stefan Schiller (Sonar)
Wasmer 新增 Node.js 和 Bun 支持 —— Wasmer 是一个基于 Rust 的高性能 WebAssembly 运行时。从 Wasmer 5.0 开始,它提供了(实验性的)V8 后端支持,这意味着你可以尝试各种有趣的操作,比如在 Node 内部运行 Clang 或 Python。
Syrus Akbary
📈 NPM Chart:搜索包并查看其下载统计随时间变化 —— 这个工具允许你通过选择配色主题、月度或周度视图以及起始日期来自定义数据。你可以下载 SVG 或 PNG 格式,或者通过直接链接分享。这些图表看起来很精美,非常适合放在博客文章、README 或演示文稿中。
Sébastien Chopin
使用 Eleventy 构建 HTML 简历 —— Eleventy(又称 11ty)是一个流行的基于 Node.js 的静态站点生成器,能为开发者提供非常熟悉的开发体验。
Michael Engen
改造一个五年前的 Node.js 项目 —— 这是一个老生常谈的故事。你的公司构建了一个快速可靠的应用程序,它工作得如此出色以至于多年没有人动过它,突然你被要求重写它。
DongDong Zhang
📄 如何构建更小的容器镜像:Docker 多阶段构建 —— 包含"如何避免错误组织 Node.js 应用程序的 Dockerfile"。Ivan Velichko
📄 使用 Passport.js 保护你的 Express REST API —— 一个经典任务的现代解决方案。Huseyin Babal
📄 在 6 个框架中弃用 Node.js REST API Adrian Machado
快讯:
🇨🇦 如果你在温哥华附近,不要错过 11 月 11 日举办的 Vancouver.dev 和 Platformatic 的 Vancouver Node.js Meetup。
⚠️ Phylum 分析了另一个正在进行的域名欺骗活动,该活动试图诱骗 JavaScript 开发者安装恶意软件包。
如果你错过了最新的 Node 23 发布,RisingStack 对 Node 23 的新特性做了快速总结。
Josh Sherman 又带来了他的常规 VPS 对比,对比了 Digital Ocean、Linode 和 Vultr 的性能。
🛠 代码与工具
Faker v9.2:生成大量虚拟数据 —— 可以生成姓名、简介、地址、邮编、日期、金额、交易记录,在 v9.2 版本中还新增了宠物名称和罗马数字!我很喜欢这个基于 DevTools 控制台的引导式演示,其他项目也应该考虑采用这种方式。GitHub 仓库。
Faker.js Team
📂 Yauzl:又一个用于 Node 的解压库 —— 这可能是你没听说过但每周下载量达 1500 万次的库之一,因为很多流行项目都依赖它。Yauzl 保持简单,只提供安全的异步 ZIP 解压功能。Yazl 则是它用于创建 ZIP 文件的姊妹项目。
Josh Wolfe
📂 Edge.js:在进程内运行 .NET 和 Node.js 代码 —— 允许从 Node.js 调用 .NET 函数,也可以从 .NET 调用 Node.js 函数,Edge.js 会处理好数据的转换。支持在 Windows、macOS 和 Linux 上运行 .NET Core。
agracio / Tomasz Janczuk
📂 Fraction.js:用于处理有理数的库 —— 浮点数的不精确表示可能会导致各种问题,所以如果你需要处理分数,可能需要更高的精度,这正是 Fraction.js 所提供的。
Robert Eisele
💬 The Lounge:现代化的自托管 Web IRC 客户端 —— 距离我们上次推荐这个项目已经过去几年了。这是一个基于 Node 的可自托管网页应用程序,可以作为 IRC 聊天服务器的客户端(对于想要搭建自托管社区聊天或支持频道的人来说可能很有用)。
The Lounge
🐘 pg-dump-parser:将 Postgres 转储文件解析为模式对象数组 —— 可以获取 Postgres 数据库转储文件,将其拆分,并将表和视图结构转换为更易于通过代码处理的格式(也可以用作参考或存入版本控制)。
Gajus Kuizinas
版本发布:
zx v8.2 —— Google 的 Node shell 脚本增强工具。v8.2 添加了延迟管道和 Promise 化流。
ESLint v9.14.0 —— 现在支持 ES2025 Import Attributes 和正则表达式修饰符。
🤖 node-llama-cpp v3.2 —— 通过 Node.js
llama.cpp
绑定在本地运行 AI 模型。🤖 OpenAI Node v4.71.0 —— 添加了对 OpenAI 新的预测输出功能的支持。
Happy DOM v15.9 —— 不含 UI 的 JS 网页浏览器实现。
TestCafe v3.7 —— 自动化端到端网页测试框架。
Fastify v5.1 —— 快速、低开销的 Node web 框架。
Mongoose v8.8 —— 流行的 MongoDB 对象建模库。
Strapi v5.2 —— 流行的 Node.js 无头 CMS。
🙋♀️ 关注我们