步骤:1-更新您的 package.json 以便您可以在客户端浏览器上使用 fs 模块npm-package.json
"browser": {
"fs": false,
"os": false,
"path": false
}
Reference
使用fs模块读取.json file
import {Observable} from "rxjs/Observable";
import {TranslateLoader} from '@ngx-translate/core';
declare var require: any;
import {join} from 'path';
const fs = require('fs');
export class Loader {
getJson(){
const assets_folder = join(process.cwd(), 'dist', 'server', this.prefix);
const jsonData = JSON.parse(fs.readFileSync(`${assets_folder}/${lang}${this.suffix}`, 'utf8'));
return jsonData;
}
}
More Information on importing json with SSR
或者你可以直接导入整个json文件
import * as indexJSON from 'assets/index.json';
use indexJSON where ever you want.
或
将文件typings.d.ts添加到项目的根文件夹,内容如下
declare module "*.json" {
const value: any;
export default value;
}
然后像这样导入您的数据:
import * as data from './example.json';
2019 年 7 月更新:
Typescript 2.9 ([docs][2]) 引入了一个更好、更智能的解决方案。步骤:
- 在您的
tsconfig.json 文件中使用此行添加resolveJsonModule 支持:
"compilerOptions": {
...
"resolveJsonModule": true
}
import 语句现在可以假定默认导出:
import data from './example.json';
Credit