Grunt: просмотр нескольких файлов (js, css и gsp) в разных подпапках.

Я использую grunt/watch в первый раз:

Мой Gruntfile.js настроен следующим образом:

module.exports = функция (ворчание) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
      watch: {
        all: {
          options: { 
            livereload: true 
          },
          files: ['**/*.gsp,**/.css']
        }
      }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-watch');

};

Проблема, с которой я столкнулся, заключается в том, что когда я запускаю задачу просмотра, чтобы проверить только тип файла css или gsp, например files: ['**/.css'] или files: ['**/.gsp'], он отлично работает и обнаруживает изменения в файлах, но когда я пытаюсь просмотреть их оба files: ['**/*.gsp,**/.css'], он не обнаруживает никаких изменений. (продолжает показывать ожидание в командной строке). Как заставить его работать так, чтобы он обнаруживал изменения в обоих типах файлов?

В конце дня я хочу сделать это (изображение):

введите здесь описание изображения

Любое понимание будет полезно .. Заранее спасибо!


person bhavya_w    schedule 11.10.2014    source источник


Ответы (2)


Лучший синтаксис будет таким: files: ['./{,*/}*.{gsp,css}'] Как видите, grunt принимает массивы расширений.

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

files: ['./grails-app/{,*/}*.gsp',
        './web-app/{,*/}*.{css,gsp}']
person vktr    schedule 11.10.2014
comment
да, извините, забыл добавить путь ./ теперь все должно быть в порядке - person vktr; 11.10.2014
comment
Можете ли вы опубликовать свое файловое дерево? Я предполагаю, что вам нужен рекурсивный поиск - person vktr; 11.10.2014
comment
Я отредактировал свой ответ, надеюсь, все работает так, как вы ожидали. - person vktr; 11.10.2014
comment
Спасибо за ваше время ... это сработало ... а также я обнаружил, что если у нас есть подпапки в папке веб-приложения и папки grails-app, нам нужно добавить ** (двойная звезда) перед упоминанием типа файла (как ответил Антон ниже) ... вот так - файлы: ['./grails-app/{,*/}.gsp','./web-app/{,*/}.{css,js}']} - person bhavya_w; 11.10.2014

Вероятно, проще и читабельнее выразить желаемую функциональность следующим образом:

files: ['**/*.gsp', '**/*.css']

И для файловой иерархии, которую вы только что опубликовали:

files: [ 'grails-app/**/*.gsp', 'web-app/**/*.css', 'web-app/**/*.js' ]
person Anton Timmermans    schedule 11.10.2014