未在angular2应用程序中加载Product.JSON

未在angular2应用程序中加载Product.JSON,angular,angular2-routing,angular2-template,angular2-forms,Angular,Angular2 Routing,Angular2 Template,Angular2 Forms,我正在angular2应用程序中加载Product.json文件 请在下面找到我的申请代码,建议 app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { HttpModule } from '@ang

我正在angular2应用程序中加载Product.json文件

请在下面找到我的申请代码,建议 app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent }  from './app.component';
import { HttpModule } from '@angular/http';

@NgModule ({
   imports:      [ BrowserModule,HttpModule],
   declarations: [ AppComponent],
   bootstrap:    [ AppComponent ]
})
export class AppModule { }
app.component.ts

import { Component } from '@angular/core';
import { IProduct } from './product';
import { ProductService } from './products.service';
import { appService } from './app.service';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';

@Component ({
   selector: 'my-app',
   template: '<div>Hello</div>',
   providers: [ProductService]
})

export   class   AppComponent  {
   iproducts: IProduct[];
   constructor(private _product: ProductService) {
   }

   ngOnInit() : void {
      this._product.getproducts()
      .subscribe(iproducts => this.iproducts = iproducts);
   }
}
产品服务

import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';

@Injectable()
export class ProductService {
   private _producturl='app/products.json';
   constructor(private _http: Http){}

   getproducts(): Observable<IProduct[]> {
      return this._http.get(this._producturl)
      .map((response: Response) => <IProduct[]> response.json())
      .do(data => console.log(JSON.stringify(data)));
   }
它在控制台部分product.json文件notfound404中给出了错误

任何一个请推荐。我是angular2的新用户

您需要从Products.json导出数据

[{
   "ProductID": 1,
   "ProductName": "ProductA"
},

{
   "ProductID": 2,
   "ProductName": "ProductB"
}]

只需将该文件放在assets文件夹中并访问它


有关更多详细信息:

是否使用angular cli?然后将json文件放在您的资产文件夹中,并调用assets/products.jsontanks@Alex-its-working,我们只需将所有文件放在资产文件夹中即可添加????如果我需要在我的anglar 2应用程序中添加css或js文件,那么如何添加它您可以将.json文件保留在Ing应用程序文件夹中,但是您需要按照我的说明,使用export进行操作。所有这些文件都应该在assets文件夹中
import { Injectable } from '@angular/core';
import { Http , Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/do';
import { IProduct } from './product';

@Injectable()
export class ProductService {
   private _producturl='app/products.json';
   constructor(private _http: Http){}

   getproducts(): Observable<IProduct[]> {
      return this._http.get(this._producturl)
      .map((response: Response) => <IProduct[]> response.json())
      .do(data => console.log(JSON.stringify(data)));
   }
export interface IProduct {
   ProductID: number;
   ProductName: string;
}
export const productData : IProduct = [{
   "ProductID": 1,
   "ProductName": "ProductA"
},

{
   "ProductID": 2,
   "ProductName": "ProductB"
}]