У меня есть проект, который имеет большую область круговой зависимости. Чтобы решить эту проблему, я создал простой проект с круговой зависимостью , чтобы найти решение.
Я сталкивался с различными решениями, такими как инъекции. Как решить круговую зависимость
, но есть также решение для экспорта всех зависимостей из одного файла , который приведен в этой статье https://medium.com/visual-development/how-to-fix-nasty-circular-dependency-issues-once-and-for-all-in-javascript-typescript-a04c987cf0de
Я выполнил следующие инструкции:
moduleA.ts
import { MODULE_B_NAME } from "./internal";
export const MODULE_A_NAME = 'Module A';
export class ModuleA {
public static getName(): string {
return MODULE_B_NAME;
}
}
modeulB.ts
import { MODULE_A_NAME } from "./internal";
export const MODULE_B_NAME = 'Module B';
export class ModuleB {
public getName(): string {
return MODULE_A_NAME;
}
}
app.component. ts
import { Component } from '@angular/core';
import { ModuleA } from './internal';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'test01';
getSomething() {
return ModuleA.getName();
}
}
internal.ts
export * from './app.component';
export * from './moduleA';
export * from './moduleB';
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './internal';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
Я выполнил все шаги, но предупреждения о циклической зависимости все еще выдаются. что я не делаю правильно?