通过 Node.js 自定义加载器运行代码
鉴于 Node.js 的诸多历史遗留原因,目前文件有多种扩展名,在文件引用时很多开发者习惯不写扩展名,这在 ES Modules 代码中需要额外的命令行 flag 才能实现。但在 Node.js v19 的版本发布后,其中 --experimental-specifier-resolution 命令行 flag 被删除,为了能继续运行无扩展名的 ES Modules 代码,就需要借助自定义加载器来实现。
鉴于 Node.js 的诸多历史遗留原因,目前文件有多种扩展名,在文件引用时很多开发者习惯不写扩展名,这在 ES Modules 代码中需要额外的命令行 flag 才能实现。但在 Node.js v19 的版本发布后,其中 --experimental-specifier-resolution 命令行 flag 被删除,为了能继续运行无扩展名的 ES Modules 代码,就需要借助自定义加载器来实现。
利用 Node.js 编写一些命令行工具、一次性脚本是很方便的,而在这类场景下 child_process API 的 spawn 和 exec 方法的应用则非常常见。在我使用它们时,却不知道该如何进行选择,遂对此进行了探究。
最近在做 Node.js 技术相关的调研,需要选定一个 Web 框架作为基础来构建业务。一般来说,首选开源方案,对于我来说,比较关注框架背后的开发团队情况、项目活跃度、是否有足够多的商业案例、文档是否完整可读、框架的设计理念、技术架构是否灵活可扩展、技术社区生态是否完整等方面。目前,我比较倾心的是 Fastify 这个新兴框架,根据官网介绍,其专注于高性能和低消耗,并且公开的基准测试表现相当不错,项目足够活跃,更重要的是属于 OpenJS 基金会的孵化项目。本文主要介绍 Fastify 的设计理念和探究其是如何提高性能和降低内存消耗的。
npm 是 Node.js 的一个包管理器,Web 前端工程师也经常利用它来简化开发流程,看看如何愉快的使用 npm ,并且发布自己的包,让 npm 成为我们的开发利器。