如何在grunt应用程序*中创build后访问环境variables

应用

我有一个由grunt构build的angularjs应用程序,它使用grunt将环境variables(如API端点)注入到angularjs代码中。 然而,这个问题更多的是在docker容器中部署的grunt应用程序。

动机

我刚刚开始尝试将docker集成到部署过程中( 类似于此 ),但意识到我不知道如何最好地将环境variables引入到应用程序中。 我将描述事件的顺序:

  1. 更改我的代码
  2. 构build一个完整的Docker镜像,接受API端点作为环境variables
  3. 将泊坞窗图像推送到我的服务器
  4. 运行一个基于这个新的形象的容器

正如您所看到的,grunt构build发生在第2步,但环境variables在第4步之前不可用。

可能的scheme

可以打包调用,以启动我的angular应用程序的静态服务器在一个小的bash脚本创build一个包含环境variables的JavaScript文件。 然后,我可以在我的index.html添加一个<script>标签来导入它,然后照常启动服务器,一切正常。 但是,这感觉就像我不适当地回避咕噜声。

有没有人知道一个简单的方法将环境variables注入到客户端代码中,同时connect:dist:keepalive任务运行? 为了澄清,我已经在使用ng-constant grunt任务,但只能在构build时访问环境variables,而不能在服务器启动时访问。