Angular 编译环境下的环境变量分离技巧

背景

在实际的开发工作中,我们经常需要对同一个项目进行不同环境的部署,比如本地开发环境、测试环境、预生产环境和生产环境。但是这些环境往往需要不同的配置,比如 API 地址、数据库地址等等。我们如何在 Angular 编译环境下,轻松地进行配置分离呢?

解决方案

在 Angular 应用中,我们可以使用环境变量分离的方式来解决这个问题。具体步骤如下:

1. 新建文件

在项目根目录下,新建 src/environments 文件夹,然后新建以下文件:

  • environment.ts:开发环境的配置
  • environment.prod.ts:生产环境的配置

2. 配置设置

打开 environment.ts 文件,在里面输入以下内容:

------ ----- ----------- - -
  ----------- ------
  ------------ ---------------------------
--

打开 environment.prod.ts 文件,在里面输入以下内容:

------ ----- ----------- - -
  ----------- -----
  ------------ -------------------------
--

默认情况下,Angular CLI 使用 environment.ts 文件中的配置作为开发环境的配置。而在生产环境中,Angular CLI 将使用 environment.prod.ts 文件中的配置。

3. 在代码中使用配置

在代码中,使用以下代码来引用环境变量:

------ - ----------- - ---- ------------------------------

-------------------------------------

在开发环境下,该行代码将会输出 http://localhost:3000/api,而在生产环境下,它将会输出 https://example.com/api

我们也可以使用以下方式来判断当前是否处于生产环境:

------ - ----------- - ---- ------------------------------

-- ------------------------ -
  -- --------
- ---- -
  -- --------
-

4. 自定义环境

如果项目需要更多的环境,我们可以自定义环境。在 src/environments 文件夹下新建一个文件,比如 environment.test.ts,在里面输入以下内容:

------ ----- ----------- - -
  ----------- ------
  ------------ ------------------------------
--

然后在 angular.json 中的 configurations 标签里新建一个配置项:

------- -
          ------------------- -
            -
              ---------- ----------------------------------
              ------- --------------------------------------
            -
          --
          --------------- -----
          ---------------- ------
          ------------ ------
          ------------- -----
          -------------- ------
          ------ -----
          ------------------ -----
          -------------- ------
          ----------------- -----
          ------------------- -----
          ---------- -
            -
              ------- ----------
              ----------------- ------
              --------------- -----
            --
            -
              ------- --------------------
              ----------------- ------
              --------------- ------
            -
          -
        --

然后再用以下命令编译,即可选取 test 环境的环境变量。

-- ----- --------------------

结论

此方案是 Angular 应用中的一种环境变量配置分离技巧,可以在编译环境下,轻松地进行配置分离,提高开发效率、保证代码质量。我们可以根据自己项目的需求,定制多个不同配置的环境。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/671f1a992e7021665efba06f