我有LoginModule
/* External Modules */
import { ServicesModule } from '@myservices/service';
import { ControlsModule } from '@mycontrols/controls';
@NgModule({
imports: [
CommonModule,
ReactiveFormsModule,
FormsModule,
LOGIN_ROUTES,
ServicesModule,
ControlsModule
],
declarations: [
LoginComponent
],
providers: [
LOGIN_PROVIDERS
],
exports: [
LoginComponent
]
})
export class LoginModule { }
ServicesModule
和ControlsModule
从另一个项目(私有npm存储库)导入。
AppModule看起来如下:
@NgModule({
imports: [
BrowserModule,
HttpModule,
FormsModule,
ReactiveFormsModule,
RouterModule,
ServicesModule,
ControlsModule,
ROUTES,
LoginModule,
SomeAnoterLocalModule
],
declarations: [
AppComponent
],
providers: [
{ provide: LocationStrategy, useClass: HashLocationStrategy }
],
bootstrap: [AppComponent]
})
我发现我在ServicesModule
和ControlsModule
都导入了LoginModule
和AppModule
,但是它无效。
当我运行项目时,一切正常,没问题。但是,当我运行ng-xi18n来提取翻译文本时,我收到一个错误:
Error: Unexpected value 'ServicesModule' imported by the module 'LoginModule'
我尝试从"孩子"中移除ServicesModule
和ControlsModule
模块(LoginModule)并在AppModule中保持导入,在这种情况下,我收到一个错误,即ServicesModule
和ControlsModule
中的标签(选择器)无法识别。
修改
ServiceModule
@NgModule({
imports: [
HttpModule,
RouterModule
],
providers: [
SERVICES_PROVIDERS
]
})
export class ServicesModule { }
它只是服务(提供者)的集合。
答案 0 :(得分:0)
问题是我没有发布metadata.json
个文件。使用ngc
代替tsc
解决了这个问题。感谢alxhub。