安装aws-jwt-verify遇TS7016错误,@types安装无效求解决
解决TS7016: 无法找到aws-jwt-verify声明文件的问题
方法1:调整tsconfig.json的typeRoots配置
你的typeRoots仅指定了./src/types,导致TypeScript不会自动扫描node_modules中模块自带的声明文件以及@types目录。修改typeRoots,补充默认的类型扫描路径:
"typeRoots": [ "./node_modules/@types", "./src/types" ]
保持skipLibCheck: true不变,避免模块间类型定义冲突。
方法2:手动添加自定义模块声明文件
如果方法1无效,可创建专属声明文件:
- 在
src/types目录下新建aws-jwt-verify.d.ts文件 - 写入以下内容(覆盖常用的CognitoJwtVerifier方法,可根据官方文档补充完整类型):
declare module 'aws-jwt-verify' { export class CognitoJwtVerifier { static create(params: { userPoolId: string; tokenUse: 'id' | 'access'; clientId?: string; }): CognitoJwtVerifier; verify(token: string): Promise<Record<string, any>>; } }
方法3:更新模块并确认导入规范
- 确保
aws-jwt-verify为最新版本,旧版本可能存在类型缺失问题:
npm update aws-jwt-verify
- 保持当前
import { CognitoJwtVerifier } from 'aws-jwt-verify'的ES模块导入写法,与NodeNext模块解析规则匹配。
方法4:统一项目ESM配置
- 在
package.json中添加type: "module",确保项目完全启用ES模块模式:
{ "type": "module" }
- 修改nodemon启动命令,明确指定ts-node的ES模式:
{ "dev": "nodemon --exec ts-node --esm src/index.ts" }
内容的提问来源于stack exchange,提问作者Roman Mahotskyi
相关产品推荐
相关产品推荐

