Search code examples
javascripttypescriptangular-cli

Angular cli generate a service and include the provider in one step


It is possible generate a service with angular cli and add it as a provider in the app.module.ts in a single step or using an special option in the ng g service command?

When a execute:

$ ng g service services/backendApi
installing service
  create src/app/services/backend-api.service.spec.ts
  create src/app/services/backend-api.service.ts
  WARNING Service is generated but not provided, it must be provided to be used

WARNING Service is generated but not provided, it must be provided to be used

Next to it, (and according to the WARNING message) I usually add it to provider section on app.module.ts using the text editor:

@NgModule({
  declarations: [
    AppComponent,
    ...
  ],
  imports: [
    ....
  ],
  providers: [BackendApiService],
  bootstrap: [AppComponent]
})

It is possible to do it with a single step, to automatize this?


Solution

  • Actually, it is possible to provide the service (or guard, since that also needs to be provided) when creating the service.

    The command is the following...

    ng g s services/backendApi --module=app.module

    Edit

    It is possible to provide to a feature module, as well, you must give it the path to the module you would like.

    ng g s services/backendApi --module=services/services.module