Angular 2:在本地 .json 文件中找不到文件

2022-01-13 00:00:00 file javascript html angular ionic2

我看过一些关于无法找到本地文件来打开它们的不同帖子,无论它们是图像文件还是数据文件,但没有一个解决方案对我有用.我的猜测是我缺少一些配置.

I have seen a few different posts about not being able to find local files to open them up whether they be images or data files, but none of the solutions have worked for me. My guess would be there is some configuration I'm missing.

我要查找的文件位于与我的 app.html 和 app.ts 文件处于同一级别的名为data"的文件夹中.

The file I'm looking for is in a folder named "data" on the same level as my app.html and app.ts files.

这是我在 app.html 中的内容,PS 我也在使用 Ionic2:

Here is what I have in app.html, PS I'm also using Ionic2:

<ion-menu (click)='getDepartments()' side='right' type='overlay' [content]="content">

在 app.ts 文件中我有:

and in the app.ts file I have:

getDepartments() {
    this.http.get('/data/data.json')
        .map(res => res.json())
        .subscribe(
            data => this.departments = data,
            err => console.log(err),
            () => console.log('Random Quote Complete')
        );
}

我试过了:

./data/data.json

data/data.json

app/data/data.json

和任何其他路径.并且它们都返回 404 file not found 错误.这似乎就像熟悉 Angular 2 的成长之痛.提前致谢

and any other path. And they all return a 404 file not found error. This seems just like growing pains with getting familiar with Angular 2. Thanks in advance

推荐答案

之前的回答都说直接放在www文件夹里,让app可以使用.我想说这不是最好的解决方案,因为在新创建的 Ionic2 项目中使用 .gitignore 排除了 www 文件夹.

Previous answers have said to put it directly in the www folder to make it available to the app. I would say this is not the best solution as the www folder is excluded using .gitignore in a newly created Ionic2 project.

而是将它放在 src/assets 文件夹中,它也将在 App 中可用,并且不会从 git repo 中排除(默认情况下).然后你可以使用:this.http.get('assets/file.json');

Instead put it inside the src/assets folder and it will also be made available in App and it will NOT be excluded from the git repo (by default). Then you can access using: this.http.get('assets/file.json');

您可以修改 .gitignore 文件,但随后您可能会包含其他不必要的文件.

You could modify the .gitignore file, but then you may be including other unnecessary files.

相关文章