¿Es posible generar un servicio con angular cli y agregarlo como proveedor en app.module.ts en un solo paso o usando una opción especial en el comando de servicio ng g ?
Cuando se ejecuta:
$ 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 usedJunto a él (y de acuerdo con el mensaje de ADVERTENCIA), generalmente lo agrego a la sección de proveedores en app.module.ts usando el editor de texto:
@NgModule({ declarations: [ AppComponent, ... ], imports: [ .... ], providers: [BackendApiService], bootstrap: [AppComponent] })¿Es posible hacerlo con un solo paso, para automatizar esto?
En realidad, es posible proporcionar el servicio (o guardar, ya que también es necesario proporcionarlo) al crear el servicio.
El comando es el siguiente...
ng gs services/backendApi --module=app.module
Editar
También es posible proporcionar a un módulo de funciones, debe proporcionarle la ruta al módulo que le gustaría.
ng gs services/backendApi --module=services/services.module
El enfoque recomendado para un servicio singleton para Angular 6 y más allá es:
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root', }) export class UserService { } De hecho, el conmutador CLI --module ya no existe para registrar un servicio en el nivel de la app porque ya no necesita modificar app.module.ts .
Esto creará el código anterior, sin necesidad de especificar un módulo.
ng gs services/user Por lo tanto, si no desea que su servicio sea un singleton, debe eliminar el código providedIn en usted mismo y luego agregarlo manualmente a los providers para un componente o un módulo de carga diferida. No parece que actualmente haya un cambio para no generar la parte providedIn: 'root' por lo que debe eliminarla manualmente.
Especificar rutas
--app --one one.module.ts --services --two two.module.ts --servicesCrear servicio con nueva carpeta en el módulo UNO
ng g service one/services/myNewServiceFolderName/serviceOne --module one/one --one one.module.ts // service imported and added to providers. --services --myNewServiceFolderName serviceOne.service.ts serviceOne.service.spec.ts