错误地连接到npm install的“没有TranslateService的提供程序”错误

Dan*_*cro 3 npm jhipster webpack yarnpkg angular

我的Angular + Webpack + JHipster + yarn项目中,出现以下错误。然后我删除node_modules并运行“ npm install”,它消​​失了。然后我这样做,然后又回来了。怎么来的?我不想这样做。错误中列出的TranslateService是库提供的,不是我自己的,而是在我未编写的项目的三个生成的组件中使用的。

ERROR Error: No provider for TranslateService!
    at injectionError (vendor.dll.js:1659)
    at noProviderError (vendor.dll.js:1697)
    at ReflectiveInjector_._throwOrNull (vendor.dll.js:3198)
    at ReflectiveInjector_._getByKeyDefault (vendor.dll.js:3237)
    at ReflectiveInjector_._getByKey (vendor.dll.js:3169)
    at ReflectiveInjector_.get (vendor.dll.js:3038)
    at GreatBigExampleApplicationAppModuleInjector.get (ng:///GreatBigExampleApplicationAppModule/module.ngfactory.js:515)
    at GreatBigExampleApplicationAppModuleInjector.getInternal (ng:///GreatBigExampleApplicationAppModule/module.ngfactory.js:2452)
    at GreatBigExampleApplicationAppModuleInjector.NgModuleInjector.get (vendor.dll.js:4005)
    at resolveDep (vendor.dll.js:11467)
Run Code Online (Sandbox Code Playgroud)

dev*_*033 6

ngx-translate的github上记录

您必须在应用程序的根NgModule中导入TranslateModule.forRoot()。

app.module.ts

@NgModule({
  imports: [
    //...
    TranslateModule.forRoot(),
  ],
  //...
})
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用的是SharedModule

如果您使用在多个其他功能模块中导入的SharedModule,则可以导出TranslateModule以确保不必在每个模块中都导入它。

@NgModule({
  exports: [
    //...
    TranslateModule,
  ],
  //...
})
Run Code Online (Sandbox Code Playgroud)