Переменные Javascript в Gruntfile.js?

Я поддерживаю веб-приложение, которое широко использует Grunt. Я должен минимизировать, копировать файлы html, css, js в разные местоположения в разное время. Поэтому, чтобы это было легко, я создал простую переменную javascript в моем GruntFile.js следующим образом:

var path="C:/dist";

uglify: {
    options: {
       mangle: false
     },
     my_target: {
       files: {
        path+'/js/jsFile.js': ['src/js/jquery-1.10.2.min.js']
        }
     }          
}

Когда я создаю это, я получаю следующую ошибку

>> SyntaxError: Unexpected token +

Не могу я использовать переменную пути в моем GruntFile.js. Потому что у меня 10 маршрутов.

Ответы

Ответ 1

Другим способом является использование шаблонов Grunt:

grunt.initConfig({
  path: 'C:/dist/',
  uglify: {
    options: {
      mangle: false
    },
    '<%= path %>js/jsFile.js': ['src/js/jquery-1.10.2.min.js']
  }          
});

Ответ 2

Формат объекта javascript не позволяет переменной как действительный ключ:

path+'/js/jsFile.js'

Это должно сработать для вас:

var path = "C:/dist";

var files = {};
files[path+"/js/jsFile.js"] = ['src/js/jquery-1.10.2.min.js'];

//...
options: {
   mangle: false
 },
 my_target: {
   files: files
 }          

Здесь вы можете увидеть несколько примеров использования переменных:

Как установить имя свойства объекта JS из переменной