【问题标题】:Angular http.get doesn't work with local json fileAngular http.get 不适用于本地 json 文件
【发布时间】:2023-03-09 06:10:01
【问题描述】:

我有一个演示 Angular 应用程序,它有一个 api/products/products.json 文件,可与 http.get() 一起使用。但是当我制作自己的组件和服务来访问我自己的自定义本地 json 时,它会在 Chrome 控制台中出现 404 错误。即使 json 文件与服务位于同一目录中,并且与 http.get(numbers.json) 一起使用,它也不起作用,只有当我将它放在 api 文件夹下,如 api/numbers.json 时,它才起作用。 Angular 有没有规定api 文件夹下必须存在用于 http 消费的本地 json?

编辑:发现将文件放在资产文件夹下可以,但是如果我创建一个自定义文件夹,它就不起作用了。

【问题讨论】:

  • 文件好像没有用 webpack 打包。我需要你的 webpack.config.js 文件

标签: json angular http-get


【解决方案1】:

如果你使用 angular-cli 在 assets 文件夹中添加 json 文件 并将其添加到 get
this.http.get('./assets/products.json');

这样就可以看到了

【讨论】:

    【解决方案2】:

    如果您使用的是 CLI,则需要在此处添加文件夹:

      "assets": [
        "assets",
        "api",
        "favicon.ico"
      ],
    

    这是angular-cli.json 文件的一部分。

    【讨论】:

    • 很好,这很有效,但为什么我需要重新启动ng-serve 才能生效?
    • 我的猜测是,因为这是配置文件的一部分,所以它只在启动时被读取。所以你必须用 ng serve 重启。
    • 很遗憾,对我没用! stackoverflow.com/q/47768897/5346095
    猜你喜欢
    • 2015-10-05
    • 2019-10-24
    • 2012-01-21
    • 2019-02-07
    • 2016-06-21
    • 1970-01-01
    • 2012-12-06
    • 2017-10-16
    • 2011-03-28
    相关资源
    最近更新 更多