【发布时间】:2019-06-25 17:07:41
【问题描述】:
我的代码中有一些想要的循环依赖项。 让我举一个小例子来说明我的意思。
文件 a.ts
import {NAMES} from './b';
export class ClassA {
constructor() {
console.log(NAMES);
}
}
文件 b.ts
import {ClassA} from './a';
import {nameOf} from './extensions';
export const NAMES = [nameOf(ClassA)];
这会导致循环依赖警告。但是 ClassA 既没有注入也没有在 NAMES 常量中实例化。所以看起来是合法的。
我知道 showCircularDependencies 选项。但我不想在全球范围内启动它。
我也尝试过 include module 模式:
文件 include.ts
export {ClassA} from './a';
文件 b.ts
import {ClassA} from './include';
import {nameOf} from './extensions';
export const NAMES = [nameOf(ClassA)];
但没有成功。是否有任何其他模式可以提供帮助,或者是否有可能将 showCircularDependencies 选项附加到一个文件?
【问题讨论】:
-
尝试使用
export const NAMES = [nameof<ClassA>()]
标签: angular typescript circular-dependency