Wie verwende ich die "version" -Eigenschaft in package.json als App-Verzeichnis in grunt?

7

Ich verwalte ein in angularjs geschriebenes Projekt mit der Standardverzeichnisstruktur, mit Ausnahme des App-Verzeichnisses, das Versionierung verwendet (zB "app / 0.0.0 /", "app / 0.1.0 /" usw ..) .

Ich versuche, die Eigenschaft "version" von grunt's package.json-Datei zu verwenden, um das richtige zu laden Verzeichnis, so dass ich den App-Pfad in gruntfile.js nicht manuell ändern muss aber aus irgendeinem Grund bekomme ich "Can not GET /", wenn ich "grunt server" starte.

Um das besser zu erklären, hier ein Beispiel meiner gruntfile.js:

%Vor%

Wenn ich die App-Eigenschaft manuell auf "app / 0.0.0" ändere, funktioniert das wie ein Zauber also ich vermute, das hat etwas mit dem Templating zu tun.

Irgendwelche Ideen?

Vielen Dank für die Hilfe.

Edit: Danke für die Korrektur Andreas und Matjaz, aber das löst das Problem nicht und gibt den gleichen Fehler ... Das löst das Problem für mich aber ohne das Templating-System:

%Vor%

Es ist ziemlich hässlich, aber es funktioniert. Hoffe auf eine richtige Lösung.

    
onearmfrog 01.10.2013, 11:31
quelle

3 Antworten

13

Die beste Möglichkeit, das obige Szenario zu behandeln, besteht darin, dass Sie in der Datei grunt.initConfig die Datei package.json

definieren %Vor%

Sobald die Initialisierung abgeschlossen ist, können Sie die Eigenschaften von package.json in der Datei grunt.js verwenden.

%Vor%     
kds 29.10.2013 10:49
quelle
3

Um Daten zu echo verwenden Sie <%= :

%Vor%     
Matjaz Lipus 01.10.2013 12:40
quelle
2

Ich erweitere appConfig mit dem Namen und der Version:

%Vor%

Dann können Sie auf die Variablen wie folgt zugreifen:

%Vor%

Für mich eine saubere Lösung mit einem optionalen Fallback.

    
fabwu 29.05.2015 19:41
quelle

Tags und Links