嗨,我写了一个 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。