找不到模块“ts-transformer-keys”。您的意思是将“moduleResolution”选项设置为“node”,还是将别名添加到“paths”选项?

Cannot find module 'ts-transformer-keys'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?

提问人:Dolphin 提问时间:2/20/2022 更新时间:8/14/2022 访问量:50982

问:

我想在我的打字稿项目中使用 ts-transformer-keys 。然后我在打字稿中添加了这个依赖项:"typescript": "^4.5.5"package.json

"ts-transformer-keys": "^0.4.3",

并添加了这个配置,如下所示:tsconfig.json

"plugins": [
      { "transform": "ts-transformer-keys/transformer" }
] 

但是当我在当前项目中导入时:ts-transformer-keys

import { keys } from 'ts-transformer-keys';

显示错误:

Cannot find module 'ts-transformer-keys'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?ts(2792)

为什么会这样?我应该怎么做才能解决这个问题?我已经运行了 yarn 命令。节点版本为 。16.13.2

打字稿

评论


答:

114赞 Dolphin 2/20/2022 #1

此错误消息告诉如何解决此问题,TypeScript 默认模块解析是经典的,这不会从 中搜索。那为什么告诉你没有在文件夹中找到该模块。您可以从此处阅读更多信息: https://www.typescriptlang.org/docs/handbook/module-resolution.html,因此请解决您的问题,请尝试在文件中添加此配置:node_modulesnode_modulestsconfig.json

"moduleResolution":"node",

评论

26赞 rovyko 9/24/2022
为了澄清起见,您想将其添加到 .所以结果是"compilerOptions"tsconfig.json{ "compilerOptions": { ... , "moduleResolution": "node" }, ... }
0赞 Saminda Peramuna 1/5/2023
按照 @rovyko 指定,如果您使用的是 React,请将其添加到.jsjsconfig.json
0赞 glushkina1 5/25/2023
它现在不起作用
0赞 Shnd 5/26/2023
为了完全准确,moduleResolution 默认值等于 时为 ,否则默认值为 。compilerOptions.modulecommonJSnodeclassic
20赞 Diego Massarini 8/9/2022 #2

添加后,如果仍然出现错误,请尝试关闭 vs 代码 e 重新打开。"moduleResolution": "node"

在将 ts 添加到现有的 nextjs 项目后,这对我有用。

评论

3赞 Kurt King 12/7/2022
呜,我也需要重新启动 vscode。谢谢!
7赞 mqklin 2/3/2023
我花了一整天的时间才明白我必须重新打开 VScode 🤦 ♀️🤦 ♀️🤦 ♀️🤦 ♀️🤦 ♀️
1赞 Dessus 8/2/2023
也适用于 Visual Studio IDE