相关疑难解决方法(0)

在没有 HTTP 请求的情况下加载 JSON

我正在使用 Angular 4、NPM、Node.js 和 Angular CLI 进行一个项目。

我需要在@Injectable没有 HTTP 请求的情况下将JSON 加载到 Angular 服务中(使用),即它总是作为包的一部分在本地加载,而不是从服务器检索。

到目前为止,我发现的所有内容都表明您要么必须修改项目typings.d.ts文件,要么使用 HTTP 请求从/assets文件夹或类似文件中检索它,这两种方法都不适合我。

我想要完成的是这个。给定以下目录结构:

/app
    /services
        /my-service
            /my.service.ts
            /myJson.json
Run Code Online (Sandbox Code Playgroud)

我需要my.service.ts正在使用的服务@Injectable来加载 JSON 文件myJson.json。对于我的特殊情况,文件旁边会有多个 JSON 文件,这些my.service.ts文件都需要加载。

澄清一下,以下方法对我不起作用:

使用 HTTP 服务从资产加载 JSON 文件

网址:https : //stackoverflow.com/a/43759870/1096637

摘抄:

// Get users from the API
return this.http.get('assets/ordersummary.json')//, options)
    .map((response: Response) => {
        console.log("mock data" + response.json());
        return response.json();
    }
    )
    .catch(this.handleError);
Run Code Online (Sandbox Code Playgroud)

修改 Typings.d.ts 以允许加载 JSON 文件

网址: …

json angular2-services angular

5
推荐指数
1
解决办法
4109
查看次数

在 create-react-app + 打字稿中导入静态 JSON

我正在学习打字稿,目前正在尝试导入我本地存储在使用 create-react-app 引导的项目中的简单 json 文件。

data.json 看起来像这样:

{
  "test": "123",
}
Run Code Online (Sandbox Code Playgroud)

在我中,App.tsx我尝试使用json-loader. 双方App.tsxdata.json在同一个文件夹和进口看起来像这样:

import data from './data.json'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了解决这个问题的几种解决方案,但似乎没有任何效果。这些解决方案是import * as data from './data.json'const data = require('./data.json')

javascript json typescript reactjs

5
推荐指数
1
解决办法
5371
查看次数

使用本地 JSON 文件在导入时找不到模块

我有这个简单的 angular 项目,但在导入我创建的本地 json 文件时遇到问题。这是 JSON 文件:

{
    "id": 1,
    "firstName": "Uziel",
    "lastName": "Cabanban",
    "car" : {
        "brand": "Toyota",
        "model": "Vios",
        "year": 2017
    }
}
Run Code Online (Sandbox Code Playgroud)

JSON 文件存储在此目录中:src/assets/sampleJson.json.

这是我尝试导入所述 json 文件的组件:

import { Component, OnInit } from '@angular/core';
import SampleJson from '../assets/sampleJson.json';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent {

}
Run Code Online (Sandbox Code Playgroud)

我还没有写任何东西,因为我看到了一条红线 import SampleJson from '../assets/sampleJson.json

任何建议将不胜感激

json angular

3
推荐指数
2
解决办法
4703
查看次数

Angular 2:为 api 端点定义全局常量

我是 Angular2 的新手。我想要一个单一的类或一个配置文件,其中包含我可以在所有服务中注入的所有 API 端点(允许参数等在不同的路由中)。在 Angular2 中这样做的最佳方法是什么?我的意思是,我应该像定义服务时那样定义一个 @Injectable 类(然后将它添加到我的服务的提供者中)。

我发现的问题是,当我将我的 api 部署到客户端部分的服务器上时,我必须更改所有以字符串格式调用的端点,因此如果我有许多端点可以使用,这将是浪费时间。

在此示例中,我使用字符串格式的端点调用服务:

getData() {
    return this._http.get('http://localhost:8000/cartography')
      .map(function(res) {
        const jsonArray = res.json();
        const newJsonArr = [];
        for ( let i = 0; i < jsonArray.length; i++) {
          const object = {
            post_name : jsonArray[i].name,
            employment_name : jsonArray[i].employment.name,
            profession_name : jsonArray[i].employment.profession.name,
            family_name : jsonArray[i].employment.profession.family.name
          };
          newJsonArr.push(object);
        }
          return newJsonArr;
      });
  }
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找一种在类或配置文件中将其定义为全局变量的方法。任何帮助请!谢谢 。

api configuration web-services endpoint angular

0
推荐指数
1
解决办法
6495
查看次数