在Ionic中如何访问配置文件或系统变量

问题描述

我正在开发一个离子应用程序,并希望在生产中访问配置文件变量(linux)或环境变量(Windows)。 在Node中,我们使用process.env.variable name访问它,但是如何在ionic + angular应用程序中访问这些变量。

export const environment = {
  production: false,api: "endpoint url",key: 'key from profile ',//how to access profile var
  user: 'some user',};

解决方法

不幸的是,这不能像人们想象的那样直接。问题在于,无论您放置什么代码,都只会在运行时进行评估-即在浏览器上执行时-但是您要在此处实现的目标是在以下位置注入环境变量 build-time -即在Linux / Windows主机上构建应用程序。

由于最终版本中未包含构建主机的环境,因此无法在运行时对其进行访问。因此,您需要某种预处理/预构建步骤,将环境变量的构建时间值插入代码中。

一种方法是在调用src/environments/environment.ts之前动态生成ng build文件,以将构建主机环境的当前值包括为文字值。然后,您可以照常在代码中的任何位置访问它们。

有关此方法的示例实现,请参见this blog post