【问题标题】:Angular 2 CLI Project read json data from fileAngular 2 CLI 项目从文件中读取 json 数据
【发布时间】:2017-07-05 00:18:13
【问题描述】:

我正在尝试从我的 Angular2 src/app 文件夹中读取一个 json 文件

目录结构如下:-

我正在尝试使用以下代码读取 app.config.js 中的文件:-

public load() {
    return new Promise((resolve, reject) => {
        this._http.get("config.json")
            .map(res => res.json())
            .subscribe((data) => {
                this.cache['config.json'] = new ConfigData(data.json());
                resolve(true);
            });
    });
}

但我尝试的一切都会导致以下错误:-

zone.js:2224 GET http://localhost:4200/config.json 404(未找到)

我需要把文件放在哪里?

我尝试将其移至 src 目录,但无济于事。我也试过:-

app/config.json ./app/config.json

我还在 app 下添加了一个 assets 文件夹并将其添加到那里,但也没有用

我需要做什么?

谢谢

【问题讨论】:

  • 您需要将外部文件放入您的资产文件夹中。
  • 我试过了,但也没用
  • 您也可以将其添加到您的问题中吗?
  • 已添加到问题中
  • 但是您是如何尝试达到它的,我的意思是您在 http 请求中向 url 写了什么?

标签: angular


【解决方案1】:

将config.json文件放入assets文件夹,将请求改为如下,

public load() {
    return new Promise((resolve, reject) => {
        this._http.get("assets/config.json")
            .map(res => res.json())
            .subscribe((data) => {
                this.cache['config.json'] = new ConfigData(data.json());
                resolve(true);
            });
    });
}

它应该工作。确保重新启动以使更改反映在 www/assets 文件夹中。

【讨论】:

  • 仍然给出同样的错误:- zone.js:2224 GET localhost:4200/assets/config.json 404 (Not Found)
  • 您必须将 config.json 文件添加到 src/assets 文件夹中,而不是像您在问题中提到的那样添加到 src/app/assets 文件夹中
  • @BigBytes 如果这解决了问题,那么请将答案标记为正确!
猜你喜欢
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多