Используйте глобальную переменную, чтобы установить выходной путь сборки в Grunt

У меня есть пара задач, и я пытаюсь разделить глобальные переменные между этими задачами, и я сталкиваюсь с проблемами.

Я написал несколько пользовательских задач, которые устанавливают правильный путь вывода в зависимости от типа сборки. Кажется, это правильно все настраивает.

// 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);
});

Итак, я пытаюсь сослаться на global.outputPath в последующей задаче и сталкиваюсь с ошибками.

Если я позвонюgrunt test из командной строки выводит правильный путь без проблем.

Однако, если у меня есть такая задача: clean: {release: {src: global.outputPath}}

Выдает следующую ошибку:Warning: Cannot call method 'indexOf' of undefined Use --force to continue.

Кроме того, мои константы в задаче setOutput установлены в верхней части моего Gruntfile.js

есть идеи? Я что-то здесь не так делаю?

Ответы на вопрос(3)

Ваш ответ на вопрос