Angular 2 中的文件路径错误

File path error in Angular 2

我正在尝试实现 PrimeNG 数据表,我在一个名为 cars-small.json 的 JSON 文件中有数据,我认为代码中的路径是正确的,我检查了将近 20 次,也检查了它通过更改它的名称和该文件的路径,但总是会出现 404 错误。

这就是我尝试获取它的方式:

@Injectable()
export class CarService {

datatable = "app/services/cars-small.json";
url = this.datatable;

constructor(private http: Http) {}

getCarsSmall() {
    return this.http.get(this.url)
                .toPromise()
                .then(res => <Car[]> res.json().data)
                .then(data => { return data; });
    }
}

但总是得到 404 错误,查看此错误图像 (https://imgur.com/StSFhUP) and actual image path (https://imgur.com/cxEHMJ6)。

修改数据表如下,因为app指的是应用程序所在的文件夹,

datatable = "/services/cars-small.json";

编辑

因为你正在制作一个 http.get,它应该有一个完整的路径,比如 http://localhost:4200/services/cars-small.json

将 json 文件复制到资产文件夹 **src/assets/cars-small.json** 然后您应该可以访问它

datatable = "/assets/cars-small.json";

由于应用程序文件夹不是 public,所以将您的 cars-small.json 放入 src/assets/cars-small.json 并且您可以使用 url 之类的东西访问

http://localhost:4200/assets/cars-small.json

请记住,除了 assets 文件夹外没有其他文件夹 public 你必须像其他静态文件图像等一样将所有模拟数据放入其中