CaslJS搭配ESM Node16时缺失声明文件报错,求解决方案
CaslJS ESM迁移时的类型声明错误问题
- 使用@casl/ability已有数年,近期正在将TypeScript项目从CommonJS迁移至ESM
- 项目迁移完成后,CaslJS抛出缺失声明文件的错误,具体信息如下:
node_modules/@casl/ability/dist/types/types.d.ts(1,32): error TS7016: Could not find a declaration file for module '@ucast/mongo2js'.
- 经排查,问题根源在于tsconfig.json中的
"moduleResolution": "node16"配置 - 若将该配置改为
node,项目可正常构建,但产出的是CommonJS格式产物,而非目标ESM格式 - CaslJS是当前完成ESM迁移的唯一阻碍,已在新的示例项目中复现此问题
内容的提问来源于stack exchange,提问作者Ed Mackenzie
相关产品推荐
相关产品推荐

