如何.ENV文件变量传递给angular6 environment.ts文件(How to pass

2019-10-29 07:42发布

随着angular6 ,全局变量process是不确定的。

我用我的dockerlize角应用docker-compose.ymlDockerfile

我创建.env通过使用文件存储我的秘密变量docker-compose.yml

但是,如果我得到存储在变量.env在这样的应用程序代码文件中:

process.env.GITHUB_ACCESS_TOKEN

错误将被抛出

ERROR in src/app/app.module.ts(41,58): error TS2304: Cannot find name 'process'.
src/app/app.module.ts(53,12): error TS2304: Cannot find name 'process'.

我的要求是:

  1. 在搬运工容器使用运行应用docker-compose up
  2. 在应用程序代码,让它们在定义的环境变量.env文件。

这里是我的docker-compose.yml

version: '2.1'

services:
  angular-apollo-starter:
    image: angular-apollo-starter
    build: .
    environment:
      NODE_ENV: production
    env_file: .env
    ports:
      - 8080:80

我想通过环境变量的工作流程应该是这样的:

.env - > environment.prod.ts - > application code

更新

我发现这个问题一个问题: https://github.com/angular/angular-cli/issues/4318

Answer 1:

你可以创建一个脚本并执行它之前建立的东西,如预生成 。 在该脚本可以访问过程中,你可以与你所需要的替换environment.ts一些值。



文章来源: How to pass variables in .env file to angular6 environment.ts file