tutorial ejemplos javascript angularjs gruntjs

javascript - ejemplos - Administre la versión y las versiones de los módulos de AngularJS utilizando Grunt



angularjs tutorial (1)

Primera pregunta

Agregué una tarea grunt-ng-constant (gracias @Joe) a mi compilación de grunt para generar constantes angulares del archivo package.json. Funciona muy bien, ahora puedo inyectarlos en mis directivas y servicios. Sin embargo, tuve que agregar el nombre del módulo a mi package.json, porque la tarea ng-constant necesita que identifique el módulo para las constantes generadas. Y el nombre declarado en package.json era más un nombre de proyecto que el nombre del módulo.

{ "name": "my-project", "version" : "1.0.0", "moduleName": "myModuleName" // etc. }

Debajo del resultado de la tarea ng-constant:

angular.module(''myModuleName'') .constant(''appInfo'', {name:''my-project'',version:''1.0.0''}) ;

Cambié mi tarea de compilación grunt a concat con este script generado al final de mi script de aplicación, antes de la minificación. Entonces ahora puedo usar appInfo en un servicio por ejemplo:

angular.module(''myModuleName'').service(''myService'', [ ..., ''appInfo'', function( ..., appInfo ){ // I can use appInfo.name and appInfo.version here ! }

¡Ten cuidado! Me sorprendió aplicar esto a varios módulos en la misma página: si una constante con el mismo nombre se declara en dos módulos diferentes, el valor de los primeros será anulado por este último. AngularJS module.constant (): ¿cómo definir una constante solo dentro de un módulo?

Segunda pregunta

Hice otra pregunta, más precisa, sobre ese asunto: Obtener un número de versión específico en SVN usando Grunt .

Actualmente, tengo múltiples módulos angulares. Una tarea Grunt personalizada concatena, minimiza y empaqueta cada módulo para que esté listo para su implementación. Lo único que aún no he hecho es administrar la versión de estos módulos.

Cada proyecto (uno por módulo) contiene un archivo package.json, en el que declaro el nombre y la versión de un componente:

{ "name": "my-module", "version" : "1.0.0", // etc. }

Entonces cada módulo está construido en un directorio * / dist / my-module / 1.0.0 /

Pero, en el módulo en sí, necesito acceder a su versión. Por ejemplo, en un controlador, declaro una variable $scope.version = ''1.0.0'' . Pero actualmente, está codificado en el script del controlador.

Primera pregunta , ¿hay alguna manera en que el módulo pueda obtener la versión del archivo package.json? ¿O que la tarea gruñona de construir la aplicación reemplaza una bandera dada en los guiones por la versión actual del módulo? (por ejemplo, podría declarar mi variable $scope.version = ''FLAG_VERSION'' sabiendo que durante la compilación, gruñido reemplazará la bandera por el valor correcto)

Segunda pregunta , ¿hay algún componente gruñón que permita etiquetar la versión actual de un módulo en mi VCS (SVN por ejemplo) y luego incrementar la versión actual? En resumen, realice una versión del módulo.

Editar: se hace una nueva pregunta sobre ese asunto, ve a Bump un número de versión específico en SVN usando Grunt

¡Cualquier ayuda o ventaja será apreciada!