instalar generate example cli bootstrap javascript typescript angular-cli

javascript - generate - Cli angular genera un servicio e incluye al proveedor en un solo paso



ng generate service example (6)

¿Es posible generar un servicio con cli angular y agregarlo como proveedor en app.module.ts en un solo paso o usando una opción especial en el comando ng g service ?

Cuando una ejecución:

$ 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

Junto a él (y de acuerdo con el mensaje de ADVERTENCIA), generalmente lo agrego a la sección del proveedor 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?


Especificar caminos

--app --one one.module.ts --services --two two.module.ts --services

Crear 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


Angular 6+ Servicios Singleton

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 --module CLI --module github.com/angular/angular-cli/wiki/generate-service para registrar un servicio a nivel de app porque ya no necesita modificar app.module.ts .

Esto creará el código anterior, sin necesidad de especificar un módulo.

ng g s services/user

Entonces, si no desea que su servicio sea un singleton, debe eliminar el código providedIn usted mismo, y luego agregarlo manualmente a los providers para un componente o módulo con carga lenta. No parece que actualmente haya un interruptor para no generar la parte providedIn: ''root'' por lo que debe eliminarla manualmente.


En Angular 5.12 y la última CLI angular, haga

ng generate service my-service -m app.module


En realidad, es posible proporcionar el servicio (o protección, ya que eso también debe proporcionarse) 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 características, debe darle la ruta al módulo que desea.

ng gs services/backendApi --module=services/services.module


ligero cambio en la sintaxis de la respuesta aceptada para Angular 5 y angular-cli 1.7.0

ng g service backendApi --module=app.module


Agregue un servicio a la aplicación Angular 4 usando Angular CLI

Un servicio Angular 2 es simplemente una función de JavaScript junto con sus propiedades y métodos asociados, que se pueden incluir (mediante inyección de dependencia) en los componentes de Angular 2.

Para agregar un nuevo servicio Angular 4 a la aplicación, use el comando ng g service serviceName . Al crear el servicio, la CLI angular muestra un error:

Para resolver esto, debemos proporcionar la referencia del servicio a la entrada src/app/app.module.ts dentro de los providers del método @NgModule .

Inicialmente, el código predeterminado en el servicio es:

import { Injectable } from ''@angular/core''; @Injectable() export class ServiceNameService { constructor() { } }

Un servicio debe tener algunos métodos públicos.