如何在grunt应用程序*中创build后访问环境variables
应用
我有一个由grunt构build的angularjs应用程序,它使用grunt将环境variables(如API端点)注入到angularjs代码中。 然而,这个问题更多的是在docker容器中部署的grunt应用程序。
动机
我刚刚开始尝试将docker集成到部署过程中( 类似于此 ),但意识到我不知道如何最好地将环境variables引入到应用程序中。 我将描述事件的顺序:
- 更改我的代码
- 构build一个完整的Docker镜像,接受API端点作为环境variables
- 将泊坞窗图像推送到我的服务器
- 运行一个基于这个新的形象的容器
正如您所看到的,grunt构build发生在第2步,但环境variables在第4步之前不可用。
可能的scheme
我可以打包调用,以启动我的angular应用程序的静态服务器在一个小的bash脚本创build一个包含环境variables的JavaScript文件。 然后,我可以在我的index.html
添加一个<script>
标签来导入它,然后照常启动服务器,一切正常。 但是,这感觉就像我不适当地回避咕噜声。
有没有人知道一个简单的方法将环境variables注入到客户端代码中,同时connect:dist:keepalive
任务运行? 为了澄清,我已经在使用ng-constant
grunt任务,但只能在构build时访问环境variables,而不能在服务器启动时访问。