【发布时间】:2017-03-03 00:30:03
【问题描述】:
是否可以异步生成环境对象?
原因:我想在我的应用程序中使用可用的提交哈希。想法是使用environment.ts 文件。但是要获得当前的提交哈希,我需要异步调用(例如使用git-rev)。
我尝试使用 process.env 从环境变量中注入变量:$ VERSION=123 ng serve
declare var process: any;
export const environment = {
production: false,
version: process.env.VERSION
};
但这会导致未定义的版本。
【问题讨论】:
-
您可以在环境文件中进行异步调用,但我认为这不会帮助您获得正确的提交哈希,因为它将在运行时在用户浏览器中进行评估。为什么要在环境文件中有提交哈希?
-
哦,我不知道它是在运行时评估的。认为它在构建过程中进行了评估。还有其他方法可以将提交消息注入我的项目吗?假设我想在某个组件中显示提交消息。
-
您是在将您的开发环境耦合到您的组件还是任意显示提交消息?如果是先验,那么我会考虑某种将提交写入环境文件的提交挂钩。
-
我使用 SentryIO 作为错误处理程序,它允许您指定当前运行的版本。我想在那个版本中包含提交哈希。
标签: angular angular-cli