我有一个使用 commonjs 模块的打字稿项目,我ts-node
用来运行它,并在运行时tsconfig-paths
解析tsconfig.compilerOptions.paths
。
现在我希望我的项目迁移到使用 es 模块,所以我做了一些更改:
- 添加
type: module
到 package.json - 更改
module: commonjs
为ES2022
tsconfig.json - 把命令
ts-node
改成node --loader ts-node/esm
现在一切都运行良好,但似乎tsconfig-paths
在 esm 中不起作用。
最小复制:
es 模块项目,它是从 commonjs 派生出来的,但被修改为使用 es 模块
在这两个项目中:
- 运行
npm run build
以使用 esm 测试使用 typescript 编译 - 跑去
npm start
测试ts-node
- 运行
npm start:paths
测试ts-node
_tsconfig-paths