1

嗨,我写了一个 Angular 2 sdk 来方便访问我们的后端服务。Github

现在我在各种流行的模板上对其进行测试,并且在捆绑过程中angular2-webpack-starter的模板发生了一些奇怪的事情。

它“松动”或无法识别 @NgModule 装饰器并抛出

模块“AppModule”导入的意外值“[object Object]”

有趣的是,sdk 与akveo 的 ng2-admin 一起工作,它建立在 angular2-webpack-starter 之上

下面是一些注释代码片段来说明我的问题

@NgModule({
    providers:SELFBITS_PROVIDERS,
    imports:[HttpModule]
})

export class SelfbitsAngularModule{
    static initializeApp(config:SelfbitsAppConfig):ModuleWithProviders{
        return {
            ngModule:SelfbitsAngularModule,
            providers:[
                { provide: SELFBITS_CONFIG, useValue: config }
            ]
        }
    }
}

这是自定义模块,它初始化并提供sdk的依赖项。然后在 app.module.ts 中我可以运行

imports: [ // import Angular's modules
    SelfbitsAngularModule.initializeApp(some_config_data)
  ],

我比较了来自 angular2-webpack-starter 和 ng2-admin 的 webpack 配置文件。它们几乎相同,没有特别弹出。

如果我注释掉@NgModule Decorator,ng2-admin 中会显示相同的错误,因此我怀疑它在捆绑过程中没有加载或丢失。也遵循错误链建议相同

  if (importedMeta === null) {
    throw new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
    }

sdk 也适用于 angular-cli beta15。

4

0 回答 0