Get*_*awn 9 javascript typescript
我有两个模块:
在一个模块中,我引用了另一个模块中的函数run
:
@myorg/服务器
import { Client } from '.'
import { Middleware } from '@myorg/middleware'
let client = new Client()
Middleware.run(client)
Run Code Online (Sandbox Code Playgroud)
然后在另一个模块中我只引用这样的类型:
@myorg/中间件
// References a '.d.ts' file
import { Client } from '@myorg/server'
export class Middleware {
public run(client: Client){
// Do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
当我进行此设置时,Middleware.run(client)
出现以下错误:
'import("/framework/server/src/Client").Client' 类型的参数不可分配给 'import("/framework/server/types/Client").Client' 类型的参数。
正如错误指出的src
(实际代码)和types
(.d.ts
文件)不兼容。造成这种情况的原因是什么以及如何解决它?
您还应该从导入该类型的Client
同一@myorg/middleware
源文件中@myorg/server
导入该类型。
说明:@myorg/middleware
您正在从类型声明文件(.d.ts)导入类型Client
,我假设您已使用指令在文件顶部引用了它///
。而在@myorg/server
该Client
类型中,直接从实际源代码导入。因此 Typescript 不会将这两者视为相同,这就是您收到此错误的原因。
归档时间: |
|
查看次数: |
8416 次 |
最近记录: |