在angular.js获取应用版本

时间:2015-07-24 04:25:24

标签: xml angularjs cordova

我正在尝试找到一种方法让我的控制器中的config.xml Phonegap文件中的当前应用程序版本。

此文件位于项目的根目录中(与Gruntfile,bower.json等相同)

我可以使用phonegap插件“AppVersion”,但我的应用程序也可以用作webapp,所以我需要找到别的东西。

是否有任何angularjs库可以做到这一点?

编辑:应用版本也在bower.json和package.json中。

1 个答案:

答案 0 :(得分:-1)

解决方案是使用Gulpgulp-ng-constant插件。它将自动化您的发布工作流程:在Angular常规服务中编写应用程序版本。

    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
        })
        // save ngConstant.js to src/app/
        .pipe(gulp.dest('src/app'));
    });

现在您可以运行gulp constants任务,它会在src/app/ngConstant.js中生成以下代码,并在bower.json中设置版本:

angular.module("ngConstants", [])
  .constant("version", "0.0.1")
;

包含此文件并在应用定义中添加ngConstants作为依赖项,并在控制器和视图中自由访问您的应用版本:

var app = angular.module('yourNgAppName', ['ngConstants']);

app.controller('SomeController', ['$scope', 'version', SomeController]);

function SomeController($scope, version)
{
  $scope.version = version;
}

<小时/> 请参阅类似问题的答案:

stackoverflow.com/questions/30421938/angularjs-show-version-number-from-either-git-or-bower

<小时/> 或者以下教程:Versioning Your Angular Application with Gulp