如何读取 Angular 库中的本地 JSON 文件?

问题描述

我正在尝试读取我正在创建的 Angular 8 库中的 JSON 文件。我想读取 JSON 文件以加载翻译并为库中的一个组件实现国际化。

附加信息: JSON 文件仅存在于 src 文件夹中,我想在我的服务中读取其内容并加载翻译。

解决方法

Demo 写一个服务读取 json 可以使用 httpclient 访问 json

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class JsonService {

  constructor(private http: HttpClient) { }
    getData(url): Observable<any> {
        return this.http.get<any>(url);
    }

}

然后在组件中从服务中获取

constructor(private json: JsonService ) {
    json.getData('/url').subscribe((result)=> {
      console.log(result)
    });
  }

Demo2

作为第二种方式,您可以在 "resolveJsonModule": true 中打开 "compilerOptions"

并像调用组件一样

import * as employeeData from "./test.json";