我创建了一个 Angular 应用程序,我想在屏幕上显示我的应用程序的当前版本号。目前我已经将它实现为常量:
application
.constant('constants', {
VERSION: '1.1.2'
});
但这需要我在每个新版本上更新常量。 我使用 bower 和 git,我想知道是否有任何方法可以动态地从这些包之一获取版本号作为变量?
最佳答案
解决方案是使用 Gulp和 gulp-ng-constant插入。它将自动化您的发布工作流程,在 Angular 常量服务中编写您的应用程序版本。
- 安装 Gulp
- 安装 gulp-ng-constant
- 像下面这样编写你的 gulp 任务并运行它
gulp constants
:
var gulp = require('gulp');
var ngConstant = require('gulp-ng-constant');
gulp.task('constants', function() {
// get version from bower file
var bower = require('./bower.json');
// set version to ng contants
var constants = { version: bower.version };
return ngConstant({
constants: constants,
stream: true,
name: 'app.constants'
})
// save ngConstant.js to src/app/
.pipe(gulp.dest('./src/app'));
});
它将为您生成 angular.module 如下:
angular.module("app.constants", [])
.constant("version", "0.0.1")
最后一步是将生成的常量服务注入(inject)到主应用中:
var app = angular.module('app', ['app.constants']);
您可能也对使用 gulp-bump 感兴趣在将应用添加到 ng-constant 服务之前自动增加应用版本的任务。
关于AngularJs:显示来自 git 或 bower 的版本号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30421938/