Angular:构建后是否可以读取json文件

2023-11-26

我正在开发一个 Angular 7 项目,该项目需要在不同的服务器上运行。我需要从环境文件中读取服务器 URL,并且无法设置为静态变量。

我尝试读取 JSON 文件,但一旦我ng build该项目,它将 JSON 的内容复制为 main.js 中的静态值

构建项目后是否可以动态读取 JSON 文件?就像从 env.json 中读取一样,我可以在构建项目后将其放入


我在assets文件夹中创建了一个setting.json文件,在ng build之后我去setting.json更改后端url。

export class SettingService  {

  constructor(private http: HttpClient) {

  }

  public getJSON(file): Observable<any> {
      return this.http.get("./assets/configs/" + file + ".json");
  }
  public getSetting(){
      // use setting here
  }
}

在应用程序文件夹中,我添加文件夹 configs/setting.json

设置.json中的内容

{
    "baseUrl": "http://localhost:52555"
}

在应用程序模块中添加 APP_INITIALIZER

 {
      provide: APP_INITIALIZER,
      useFactory: (setting: SettingService) => function() {return setting.getSetting()},
      deps: [SettingService],
      multi: true
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular:构建后是否可以读取json文件 的相关文章

随机推荐

  • sql中查找同一个表中连续两行之间的时间差

    我被困住了 我一直在寻找答案 但似乎无法找到从同一张表的两个不同行中减去同一张表中适合的时间 我在执行以下查询时遇到困难 在下表中 我想区分一行的 TimeOut 和下一行的 TimeIn 请考虑在下表中查找第 1 行中的 TimeOut
  • 带有分支过滤器的 GitHub Actions 标签过滤器

    GitHub 操作允许使用分支和标签过滤器 但它们似乎不能一起工作 例如 此工作流在推送到 master 时运行or用标签推动 name npm Publish on push branches master tags v 我想设置一个发布
  • Excel 多个条件的中位数

    基本上在Excel中我想要一张表格 就像下面右边给出的那样 我的数据规模比给出的例子大得多 它有每个主题 每个条件的中位数 例如TADA TADP TPDA TPDP 理想情况下 我会使用数据透视表 但是 Excel 不会在数据透视表中执行
  • Python3双向串口通信:读入数据

    我正在尝试通过Python3建立双向通信 我的 USB 端口之一插入了一个激光测距仪 我想向其发送 接收命令 我有一张可以发送的命令以及它们将返回的内容 因此这部分已经存在 我需要的是一种实时方便的方法 到目前为止我有以下代码 import
  • GameKit 无线网络连接?

    我读到 从 iPhone OS 3 1 开始 GameKit 支持 wifi 连接 但文档指出 如果您的应用程序配置了 对等选择器允许互联网 连接 您的应用程序必须 还解雇同行选择器和 提供自己的配置界面 互联网连接 这还成立吗 如果是这样
  • 为什么我的类型化数据集不喜欢临时表?

    我正在尝试将表适配器添加到 SQL Server 2005 Express 中的存储过程 然而 存储过程使用一个名为 temp 的临时表 创建表适配器时 Visual Studio 抱怨 未知对象 temp 并表示存储过程返回 0 列 这是
  • 如何静音“其类型使用匿名命名空间 [-Werror]”gcc 版本 4.8.2

    在我的项目的一个头文件中 以下行包含在inline method typedef boost archive iterators transform width
  • Codeigniter/PHP 会话安全问题

    我正在使用 Codeigniter 开发一个 Web 应用程序 当用户通过我的网站进行身份验证时 我当前将他们的 用户标识符 存储在我的会话 cookie 中 我已启用加密 我的几个模型类使用会话 cookie 的 用户标识符 参数中的值来
  • 如何放大矩形中绘制的填充样式? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我正在使用 Net 绘图来绘制图表 它本质上是一个堆积条形图 我遇到的问题是 我想减少填充样式中的线条数量 以便在某种程度上放大它以使其更清晰 我环顾四周 但没有发现任何可以帮助我的东
  • 如何在 vtkStructuredGrid 上设置数据值

    我正在尝试用分析字段填充结构化网格 但是尽管阅读了 vtk 文档 我还没有找到如何在网格点实际设置标量值或设置网格的间距 原点信息 从下面的代码开始 我该如何 将空间信息与网格相关联 即单元格 0 0 0 位于坐标 0 0 0 每个方向的间
  • 使用selenium保存页面中的图像

    我正在使用 Selenium 和 Google Chrome 驱动程序以编程方式打开页面 每个页面上都有一个我想下载的动态生成的图像 目前 我正在等待页面完成加载 然后获取图像 URL 并使用 System Net WebClient 下载
  • 如何创建线程安全的ContentProvider?

    Android 文档说 可以从各种 ContentResolver 调用 ContentProvider 方法 不同进程和线程中的对象 必须实现它们 以线程安全的方式 我在 Stackoverflow 上找到了这篇文章Android sql
  • go float 零除编译器错误

    这种行为有何意义 只打印编译器警告而不是错误不是更有意义吗 func main var y float64 0 0 var x float64 4 0 y fmt Println x Inf func main var x float64
  • 如何仅更改 javafx css 中的左填充

    我经常使用 html css 但我对 javafx css 完全陌生 所以这将是一个新手问题 但我在任何地方都找不到答案 我有一个充满标签的大网格窗格 除了其他标签之外 我可以为所有这些标签设置填充 例如 GridPane containe
  • C++ 中的越界和未定义的行为

    我知道在 C 中 超出缓冲区范围的访问是未定义的行为 这是来自 cppreference 的示例 int table 4 bool exists in table int v return true in one of the first
  • 两个字符相加产生 int

    我制作了一个简单的程序并使用 GCC 4 4 4 5 编译它 如下所示 int main char u 10 char x x char i u x return 0 g c Wconversion a cpp 我有以下内容 a cpp I
  • Jackson JSON - 反序列化 Commons MultiMap

    我想使用 JSON 序列化和反序列化 MultiMap Apache Commons 4 要测试的代码段 MultiMap
  • 非常量复制构造函数和返回值的隐式转换

    考虑以下 C 代码 struct B struct A A int A A missing const is intentional A B operator B A f return A 1 compiles fine return 1
  • 粘性灵活的页脚和页眉 CSS 在 WebKit 中工作正常,但在 Gecko 中不行

    我正在尝试构建一个允许灵活高度的页眉和页脚的布局 中间的部分占用剩余空间 中间的任何溢出都应该为该中间部分提供一个滚动条 我的适用于 Safari 和 Chrome 的代码是
  • Angular:构建后是否可以读取json文件

    我正在开发一个 Angular 7 项目 该项目需要在不同的服务器上运行 我需要从环境文件中读取服务器 URL 并且无法设置为静态变量 我尝试读取 JSON 文件 但一旦我ng build该项目 它将 JSON 的内容复制为 main js