EN
← 错误索引

F_SYSTEM_CIRCULAR_MODULE_IMPORT

模块循环导入

Module.imports 中的依赖路径回到了已经正在编译的 Module。

更新于

复现

Module import 图包含闭环:

src/app.module.ts
import { Module, createApp } from 'func'
import type { ModuleMetadata } from 'func'

const first: ModuleMetadata = {}
const second: ModuleMetadata = { imports: [first] }
first.imports = [second]

@Module({ imports: [first] })
class AppModule {}

createApp(AppModule)

如何修复

根据 details.dependencyPath 找到回到起点的 import。把共享 Provider 提取到第三个 Module,由原来的两个 Module 单向 import;不要让 feature Modules 互相 import。仅需要类型时使用 type-only import,不要把它加入 Module.imports