我在Angular 5应用程序中广泛使用桶形概念。例如,在核心模块中,我有一个服务文件夹,可以像这样导出每个应用程序的模型(在 index.ts中) 文件):
import { ApiService } from '@core/services/api.service';
export const services: Array<any> = [
ApiService
];
export * from '@core/services/api.service';
然后,我将这些模型传播到core.module中的provider键中:
import * as fromServices from '@core/services';
@NgModule({
declarations: [],
providers: [...fromServices.services],
exports: []
})
export class CoreModule {}
当我用纱线开始编译应用程序时,一切正常。但是当我做的时候
ng build --prod
我收到以下错误:
错误:遇到未定义的提供商!通常这意味着你有 循环依赖(可能是由于使用&#39;桶&#39; index.ts引起的 文件。
我的导入在 tsconfig.json文件:
中命名如下{
"compilerOptions": {
"paths": {
"@core/*": ["app/core/*"],
}
}
}
非常感谢任何帮助/提示。
更新/解决方法#1: 通过发出以下命令关闭AOT进行构建 通过,但没有AOT: ng build -prod -aot = false