Node 23:Node.js 的游戏改变者
Node.js 一直在发展,並且随着 Node 23 的发布,这是一个新的实验版本,游戏已经改变。Node 23 已经摆脱了开发者可能看到的最糟糕的错误,这是一场游戏改变者。
在这个新版本中,CommonJS (CJS) 和 ECMAScript 模块 (ESM) 之间的不平等已经解决。以前,ESM 可以导入 CJS,但是 CJS 不能直接导入 ESM。这导致了很多重构和解决方法,但是在 Node 23,这个问题现在已经过去。
在 Node 23 中,现在可以使用 require
和 import
可以互换,makes it much easier to work with both CJS and ESM。这意味着您可以在 CJS 文件中导入 ESM 模块,并且可以在 ESM 模块中导入 CJS 文件,而不需要担心兼容性问题。
然而,有一个catch。如果您在 ESM 模块中使用顶级等待,您将得到一个错误。这是因为顶级等待不兼容 CJS 的同步性质。
要绕过这个限制,您可以在 Node 22 中使用一个 flag,以启用对 ESM 模块的实验支持。这允许您在 Node 22 中使用新的行为,但带有一个 caveat,它仍然是实验的。
总之,Node 23 是 Node.js 开发者的一场游戏改变者。它解决了 CJS 和 ESM 之间的不平等,makes it much easier to work with both module systems。然而,它仍然是实验的,并且有需要注意的限制。
如果您对学习 Node.js 和 TypeScript 感兴趣,请务必查看视频中提到的资源,包括 Joyee Cheung 的文章和 Matt Pocock 的免费 TypeScript 课程。