Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular2服务中的意外值。请添加注释_Javascript_Angular_Typescript - Fatal编程技术网

Javascript Angular2服务中的意外值。请添加注释

Javascript Angular2服务中的意外值。请添加注释,javascript,angular,typescript,Javascript,Angular,Typescript,在我的Angular2应用程序中,我收到以下错误错误:(SystemJS)模块'AppModule'声明的意外值'ReleaseService'。请添加@Pipe/@Directive/@组件注释。 MyAppModule: import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { routing } from './app.route

在我的Angular2应用程序中,我收到以下错误错误:(SystemJS)模块'AppModule'声明的意外值'ReleaseService'。请添加@Pipe/@Directive/@组件注释。

MyAppModule

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 { }
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;
  }
}
我的发布服务

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 { }
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;
  }
}

如何修复它?我重新安装了Quickstarter(我的应用程序的基础),在尝试创建服务时出现了相同的错误。

声明仅适用于可声明类:组件指令和管道

您可以将
releaseService
添加到
providers
数组中

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


我也遇到了类似的问题,当一个项目的依赖项是angular2,而项目依赖项(包含失败的组件)也是angular2时,我也遇到了类似的问题。似乎angular2元数据附加到直接的angular2依赖项,因此项目依赖项中的组件没有在项目的angular2中声明


解决方法是从依赖项中删除angular2(在那里将其声明为devDependency),并且只使用一个angular2实例

确保装饰师具有字符@

如果不在decorator函数之前键入@,则会出现此错误消息

@Component({ selector: '...', }) -> Correct

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

它对我不起作用。我努力在它自己的文件或app.mudule文件中使用它。。。你能帮我吗…@DeepakChawla你能在什么地方复制一下吗?