我正在使用typescript并使用nestjs和typeorm创建一个api。通过将项目中的某些模块提取到自己的节点模块中,使其可重用。这导致外部模块中的Repository
类型与原始包中的Repository
类型不同。所以当使用外部模块时
Argument of type 'import("/Users/user/project/node_modules/typeorm/repository/Repository")
.Repository<import("/Users/project/src/user/user.entity").User>'
is not assignable to parameter of type
'import("/Users/user/my-module/node_modules/typeorm/repository/Repository")
.Repository<import("/Users/project/src/user/user.entity").User>'.
typeorm包在节点包中作为peerdependency列出,因此它应该始终相同。
最佳答案
外部库似乎有自己的类型定义。在this thread中,建议在node_modules
中手动将导入映射到package.json
下的文件夹:
"paths": {
"typeorm": ["node_modules/typeorm"],
"typeorm/*": ["node_modules/typeorm/*"]
}
这可能只是使用
npm link
时的问题。