我喜欢在使用ember-cli和西兰花构建的Ember应用程序的页脚中显示我的项目版本(来自package.json),git commit hash和working-copy状态。
我可以通过添加到我的config / environment.js来轻松获取版本前缀:
ENV.APP.version = require('../package.json').version
我以前使用grunt-git-describe来获取修订哈希和脏/清除状态。我怎样才能在ember-cli中做类似的事情?
简单地炮轰git describe
是有问题的,因为child_process没有执行shell命令的同步方法。
有一种方法可以从某个地方返回一个promise并阻止config / environment.js解析,直到我的异步git describe
完成?
npm软件包exec-sync和execSync在Windows上似乎不适合我。
答案 0 :(得分:3)
ember-git-version是一个ember-cli插件,提供当前的修订版哈希。
安装节点包后,config / environment哈希将具有属性currentRevision
。有关如何从您的应用访问它的信息,请参阅initializers/print-git-info.js。
答案 1 :(得分:1)
您可以使用exec-sync
包,然后将类似内容添加到Brocfile.js中:
var execSync = require('exec-sync'),
gitVersion = execSync('git describe');
fs.writeFileSync('app/version.js', 'App.version = "' + gitVersion + '";';
然后您需要将其导入某处。