world tutorial run hello guide cli app javascript angular typescript

tutorial - javascript en angular 5



Angular2 Valor inesperado en servicio. Por favor agregue anotacion (3)

Asegúrate de que el decorador tenga el caracter @.

Si no escribe @ antes de la función de decorador, tendrá este mensaje de error

@Component({ selector: ''...'', }) -> Correct Component({ selector: ''...'', }) -> ERROR MESAGE: ''add a @Pipe/@Directive/@component''

En mi aplicación Angular2 obtengo el siguiente error : (SystemJS) Valor inesperado ''ReleasesService'' declarado por el módulo ''AppModule''. Por favor agregue una @ Pipe / @ Directiva / @ Anotación de componente.

Mi módulo de aplicación :

import { NgModule } from ''@angular/core''; import { BrowserModule } from ''@angular/platform-browser''; import { routing } from ''./app.routes''; import { HttpModule } from ''@angular/http''; import { SearchFilter } from ''../app/search-filter.pipe''; import { ReleasesService } from ''../app/releases/releases.service''; import { AppComponent } from ''./app.component''; import { HomeComponent } from ''../app/home/home.component''; import { ReleasesComponent } from ''../app/releases/releases.component''; import { DistroComponent } from ''../app/distro/distro.component''; import { ContactComponent } from ''../app/contact/contact.component''; @NgModule({ imports: [ BrowserModule, HttpModule, routing ], declarations: [ AppComponent, SearchFilter, HomeComponent, ReleasesComponent, ReleasesService, DistroComponent, ContactComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }

Mis lanzamientosServicio :

import { Injectable } from ''@angular/core''; import { Http, Response } from ''@angular/http''; import { Observable } from ''rxjs/Observable''; import { IRelease } from ''./release''; import ''rxjs/add/operator/map''; @Injectable() export class ReleasesService { getReleases() { return IRelease; } }

¿Como arreglarlo? Reinstalé el Quickstarter (la base para mi aplicación) y tuve el mismo error al intentar crear el servicio.


Tuve un problema similar, ocurriendo mientras que un proyecto tenía angular2 como dependencia y también una dependencia del proyecto (con el componente que falla). Parece que los metadatos angular2 se unen a la dependencia angular2 directa, por lo que el componente en la dependencia del proyecto no se declaró en el angular2 del proyecto.

La solución es eliminar angular2 de la dependencia (declararlo como DevDependency allí) y usar solo una instancia de angular2.


declarations son solo para clases declarables: Componentes, Directivas y Canalizaciones.

Puede agregar ReleasesService a la matriz de providers

@NgModule({ imports: [ BrowserModule ], declarations: [ AppComponent ], providers: [ ReleasesService ], bootstrap: [ AppComponent ] }) export class AppModule { }

Ver también