我正在使用 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文件都需要加载。
澄清一下,以下方法对我不起作用:
网址: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)
网址: …
我正在学习打字稿,目前正在尝试导入我本地存储在使用 create-react-app 引导的项目中的简单 json 文件。
data.json 看起来像这样:
{
"test": "123",
}
Run Code Online (Sandbox Code Playgroud)
在我中,App.tsx我尝试使用json-loader. 双方App.tsx并data.json在同一个文件夹和进口看起来像这样:
import data from './data.json'
Run Code Online (Sandbox Code Playgroud)
我已经尝试了解决这个问题的几种解决方案,但似乎没有任何效果。这些解决方案是import * as data from './data.json'和const data = require('./data.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
任何建议将不胜感激
我是 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)
所以我正在寻找一种在类或配置文件中将其定义为全局变量的方法。任何帮助请!谢谢 。