我最近转而使用 Bun 作为我选择的 JS 运行时,并且在切换中 ES 模块与 CommonJS 的相关性成为一个有争议的问题,因为 Bun 不承认这两者,而且一切都正常。不幸的是 VSCode 似乎不同意,每当我做一些可以在 Bun 中工作但不适用于 Node.JS 的事情时,它都会给我错误,例如:
和
我承认我可以简单地使用@ts-ignore,但这很快就会失控。我想知道是否可以对我的 TSConfig 文件或 VSCode 设置做一些事情来消除这些 ESM 与 CommonJS 错误。
编辑:将 package.json 更改为
"type": "module"
会产生比它修复的错误更多的错误。
我们在评论部分交流后,您应该执行以下操作:
package.json
文件以添加/修改:"type": "module"
tsconfig.json
文件以添加/修改:"moduleResolution": "bundler"
"type": "module"
中的 package.json
告诉 Typescript 将 .js
文件解释为 ES 模块(而不是默认的 CommonJS)。"moduleResolution": "bundler"
中的 tsconfig.json
告诉 Typescript 您的捆绑器将处理相对导入路径,并且不需要 Node.js 在 ESM 模式下所需的 .js
扩展。