从资产导入Json文件-Angular Production Build Issue

时间:2019-12-10 12:13:19

标签: json angular

我正在从资产文件夹导入json文件,以读取应用程序内的一些配置,这些配置可以完美运行,并且可以根据需要更改json值

您可以参考:https://www.techiediaries.com/import-local-json-files-in-typescript/

但是在生产版本中,当尝试从资产文件夹中的json文件更改值时,它将读取开发数据

经过调查,我们发现json数据嵌入在main-es5文件中,

有什么方法可以使用导入方法读取json文件,我们可以根据环境动态更改数据

2 个答案:

答案 0 :(得分:1)

我建议使用更简洁的方式通过 HttpClient 加载它,如果它包含一些配置,我认为这是您可以更改资产中数据的方法,并且应用将一次又一次地加载HttpClient。

如果要基于环境阅读,打字稿导入将不起作用。

创建一个服务,基于预先放置的特定于环境的JSON通过HttpClient读取JSON。

答案 1 :(得分:0)

这是您可以尝试的另一种替代解决方案。

  1. 创建一个app.constant.ts文件
    //
    // ===== File app.constants.ts    
    //
    'use strict';
    export const appConstants = {

       'key':'value',
       'key1':'value'
    };
  1. 在组件中这样导入:
    import {appConstants} from './../app.constants';
  1. 在这样的组件中使用:

    this.variable = appConstants.key;