我創建了一個Angular應用程序,我想在屏幕上顯示我的應用程序的當前版本號。目前我已經實現它作爲一個常數:AngularJs:顯示來自git或bower的版本號
application
.constant('constants', {
VERSION: '1.1.2'
});
但是這將需要我更新每個新版本的常量。 我使用鮑爾和混帳,我想知道是否有任何方式從這些包之一動態地獲取版本號作爲變量?
我創建了一個Angular應用程序,我想在屏幕上顯示我的應用程序的當前版本號。目前我已經實現它作爲一個常數:AngularJs:顯示來自git或bower的版本號
application
.constant('constants', {
VERSION: '1.1.2'
});
但是這將需要我更新每個新版本的常量。 我使用鮑爾和混帳,我想知道是否有任何方式從這些包之一動態地獲取版本號作爲變量?
解決方案是使用Gulp和gulp-ng-constant插件。它將自動化您的發佈工作流程,在Angular常量服務中編寫您的應用程序版本。
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")
和您需要的最後一步是在你的主應用程序以注入產生的常數服務:
var app = angular.module('app', ['app.constants']);
您可能也有興趣在使用gulp-bump任務自動增加你的應用程序版本,它會被添加到NG-恆前服務。
Ty for this answer。這是一個美麗而優雅的解決方案! – stevenvanc
無法從packagaje.json中獲取? –
@SebastiánRojas,是的。更改以上代碼中的以下內容'var bower = require('./bower.json');' – doroshko
你硬編碼您的版本,這可能並不是最好的解決方案。版本不屬於代碼,它是和屬性。 –
在Git中有標籤,通常用於標記某些發佈版本。但是必須手動創建標籤。 –
您是否有後端,例如的NodeJS?然後,如果我理解你的話,可以通過後端提供版本。 – LordTribual