👋
typescriptの循環参照で悩んでいた
問題
// hoge.ts
import { Fufa } from './Fuga';
export class Hoge {
public fuga: Fuga;
}
// fuga.ts
import { Hoge } from './hoge';
export class Fuga{
someFunction (hoge: Hoge) {
return hoge.something;
}
}
みたいなコードがあって、eslintから循環参照エラーがでていた。
結論
import type
というtypescript 3.8から利用可能なものを利用することによって解決した。
ここらへん皆さんどう解決してるんだろう...。
// hoge.ts
import { Fufa } from './Fuga';
export class Hoge {
public fuga: Fuga;
}
// fuga.ts
import type { Hoge } from './hoge';
export class Fuga{
someFunction (hoge: Hoge) {
return hoge.something;
}
}
Discussion