找不到 Angular2 服务调用 json 路径

Angular2 service call json path not found

product.service.ts 文件:

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='src/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)));
   }
  }

文件夹结构请在下面的截图中找到

但是当页面加载时显示错误: zone.js:2744 GET http://0.0.0.0:4200/src/products.json 404(未找到)

enter image description here

您需要将 json 文件保存在 assets 文件夹中,然后像这样从那里访问

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

如果您使用 Angular Cli,您需要按照官方文档将 json 文件保存在 Assets 文件夹(与应用程序目录平行)目录中。