将模块导入到systemjs.config.js中时,多个匿名定义

时间:2019-09-27 10:14:00

标签: angular webpack

我正在尝试将keycloak-js导入systemjs.config.js,以便通过包装程序(keycloak-angular)在单词插件中使用该模块,并且出现此错误。

  

错误导入应用程序:错误:(SystemJS)多个匿名定义在   模组   https://localhost:3000/node_modules/keycloak-js/dist/keycloak.js

这些是systemjs.config.js中的导入

  'keycloak-js': 'npm:keycloak-js/dist/keycloak.js',
  'keycloak-angular': 'npm:keycloak-angular/esm2015/',
  'keycloak-angular/public_api': 'npm:keycloak-angular/esm2015/public_api.js'

而且我也在'packages'中定义了keycloak-angular,如下所示:

“ keycloak-angular”:{         defaultExtension:'js',         主要:“ keycloak-angular.js” }

我正在像这样在app.module.ts中初始化服务:

providers: [
      KeycloakService,
      CommunicationService,
      SettingsStorageService,
      {
         provide: APP_INITIALIZER,
         useFactory: Initializer,
         multi: true,
         deps: [KeycloakService]
      }
 ]

我对webpack和systemjs.config很陌生,所以我真的不知道我在这里处理什么。我已经搜索了很多解决方案,而发现的解决方案实际上并不能解决keycloak-js导入问题。

1 个答案:

答案 0 :(得分:0)

很明显,keycloak-angular的导入是不正确的,并发现这样做很困难,因为浪费了60多个小时。

'keycloak-angular':'npm:keycloak-angular / bundles / keycloak-angular.umd.js'

这是应该(显然)将其导入的方法,错误从那里消失了。