如何将外部库导入Angular上的外部工作区?

时间:2019-04-09 14:54:02

标签: angular

我有一个工作区(核心),其中有两个项目core-lib和core-tester,在那里都可以正常工作,我有一个不同的工作区(my-app),我想在这里使用core-lib(编译或未编译的代码。

我正在使用angular 7,并且在my-app工作区中使用了tsconfig.json,并且已经包含了已编译的代码,但是当我的app被编译且某些代码不起作用时,我会收到一些警告

“ / Users /.../ web-core/int-core-web/node_modules/@angular/core/fesm5/core.js中的警告18359:15-36 关键依赖项:依赖项的请求是一个表达式

/ Users /.../ web-core/int-core-web/node_modules/@angular/core/fesm5/core.js中的警告18371:15-102 关键依赖项:依赖项的请求是一个表达式”

在我的核心库中,我有APP_INITIALIZER提供程序,例如,它不起作用。

tsconfig.json

"paths": {
  "@core/lib": [
    "../web-core/int-core-web/dist/core-lib"
  ],
  "@core/lib/*": [
    "../web-core/int-core-web/dist/core-lib/*"
  ]
}

在my-app中使用模块

import {CoreLibModule} from '@core/lib';

核心库中的CoreLibModule代码

export function getSettings(configurationService: ConfigurationService) {
  console.log('INIT SETTINGS');
  // This redundant variable avoid "Lambda not supported." error
  const result: () => Promise<any> = () => new Promise(async resolve => {
    await configurationService.getSettings();
    resolve(true);
  });
  return result;
}

@NgModule({
  declarations: [],
  imports: [],
  exports: [],
  providers: [
    ConfigurationService,
    {
      provide: APP_INITIALIZER,
      useFactory: getSettings,
      deps: [ConfigurationService],
      multi: true
    }
  ]
})
export class CoreLibModule {}

我希望core-lib的所有核心都可以在我的外部工作区my-app中工作

0 个答案:

没有答案