Ho un paio di compiti grugnito e sto cercando di condividere le variabili globali tra i compiti e io sono in esecuzione in problemi.Usa Globali variabile da impostare costruire percorso di uscita in Grunt
ho scritto un alcuni attività personalizzate che definiscono il percorso di uscita adeguata a seconda del tipo di costruzione. Questo sembra impostare le cose correttamente.
// Set Mode (local or build)
grunt.registerTask("setBuildType", "Set the build type. Either build or local", function (val) {
// grunt.log.writeln(val + " :setBuildType val");
global.buildType = val;
});
// SetOutput location
grunt.registerTask("setOutput", "Set the output folder for the build.", function() {
if (global.buildType === "tfs") {
global.outputPath = MACHINE_PATH;
}
if (global.buildType === "local") {
global.outputPath = LOCAL_PATH;
}
if (global.buildType === "release") {
global.outputPath = RELEASE_PATH;
}
if (grunt.option("target")) {
global.outputPath = grunt.option("target");
}
grunt.log.writeln("Output folder: " + global.outputPath);
});
grunt.registerTask("globalReadout", function() {
grunt.log.writeln(global.outputPath);
});
Quindi, sto cercando di quindi fare riferimento global.outputPath in un'attività successiva, e in esecuzione in errori.
Se chiamo grunt test
dalla linea di comando, esso emette il percorso corretto nessun problema.
Tuttavia, se ho un compito come questo: pulito: { rilascio: { src: global.outputPath }}
Si getta il seguente errore: Warning: Cannot call method 'indexOf' of undefined Use --force to continue.
Inoltre, le mie costanti nel compito SetOutput sono fissati nella parte superiore dei miei Gruntfile.js
Qualche idea? Sto facendo qualcosa di sbagliato qui?
Sto pensando che potrebbe essere correlato al global.outputPath impostato al di fuori di grunt.initConfig ({}), mentre, sto provando ad accedere alla variabile all'interno di grunt.initConfig ({}) – ThePuzzleMaster