在实验性的Nuxt.js TypeScript项目中,我偶然发现了一些奇怪的行为。该项目使用Apples CloudKit JS库和https://github.com/typescriptlibs/tsl-apple-cloudkit中的类型定义文件,后来称为apple-cloudkit.d.ts
。
在导入后使用apple-cloudkit.d.ts
中的任何类型都可以按预期工作,但是使用使用apple-cloudkit.d.ts
中的类型的类会导致错误:
未找到相对模块:无法解析'./apple-cloudkit'
此示例按预期工作:
import CloudKit from './apple-cloudkit'
const config: CloudKit.CloudKitConfig = {
...
}
console.log(config)
此示例产生了问题:
/// CKConnection.ts
import CloudKit from './apple-cloudkit'
export default class CKConnection {
private instace: CloudKit.CloudKit
public constructor () {
this.instance = CloudKit.configure(...)
}
}
/// test.ts
import CKConnection from './CKConnection'
console.log(CKConnection) // this line triggers the error
new CKConnection() // as does this line
我扩展了官方nuxt-edge TypeScript example,以在https://github.com/moritzsternemann/nuxt-typescript-cloudkit-problem展示我的问题。请参阅自述文件,了解如何使用我的示例重现该问题。
我不知道这是TypeScript的一般性问题还是与Nuxt有关,因此我们将提供任何帮助或评论。