Grunt: смотреть несколько файлов, только компиляция изменена

Я новичок в Grunt, и пока мне это очень нравится. Я хочу, чтобы Grunt компилировал только измененные файлы при запускеgrunt watch

В моем Grunfile.coffee у меня сейчас есть (соответствующие части).
Примечание: assets / javascript / app.coffee и assets / javascript / app.js являются каталогами

    coffee:
        default:
            expand: true
            cwd: "assets/javascript/app.coffee"
            src: ["*.coffee"]
            dest: "assets/javascript/app.js"
            ext: ".js"

    uglify:
        dev:
            options:
                beautify: true
                compress: false
                mangle: false
                preserveComments: 'all'

            files: 
                "js/app.js": "assets/javascript/app.js/*.js"
                "js/libs.js": "assets/javascript/libs/*.js"

    watch:
        coffeescript:
            files: 'assets/javascript/**/*.coffee'
            tasks: ["coffee"]

        javascript:
            files: "assets/**/*.js"
            tasks: ["uglify:dev"]
        livereload:
            files: ["Gruntfile.coffee", "js/*.js", "*.php", "css/*.css", "images/**/*.{png,jpg,jpeg,gif,webp,svg}", "js/*.js", ]
            options:
                livereload: true

Вероятно, есть более короткий путь, но я сначала компилирую app.coffee в app.js, чтобы после того, как я распространял свою работу, люди, которые не знакомы с Coffeescript, могли несколько разумно просмотреть код.

Проблема всего этого в том, что теперь, когда я сохраняю файл Coffeescript, я получаю слишком много шагов (я думаю):

>> File "assets/javascript/app.coffee/browse.coffee" changed.

Running "coffee:default" (coffee) task
File assets/javascript/app.js/browse.js created.
File assets/javascript/app.js/filters.js created.

Done, without errors.
Completed in 0.837s at Tue May 28 2013 12:30:18 GMT+0300 (EEST) - Waiting...
OK
>> File "assets/javascript/app.js/browse.js" changed.
>> File "assets/javascript/app.js/filters.js" changed.

Running "uglify:dev" (uglify) task
File "js/app.js" created.
File "js/libs.js" created.

Done, without errors.
Completed in 0.831s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...
OK
>> File "js/app.js" changed.
>> File "js/libs.js" changed.

Completed in 0.000s at Tue May 28 2013 12:30:19 GMT+0300 (EEST) - Waiting...

В настоящее время я только настраиваю свой проект, но у меня будет намного больше файлов Coffeescript, и я не хочу, чтобы Coffeescript перекомпилировал все файлы при каждом изменении файла.

Кроме того, libs.js не имеет никакого отношения ко всему этому, но я думаю, что он все еще компилируется, потому что он также соответствует "assets / */.js "шаблон.

Есть ли способ заставить Grunt компилировать только файлы, которые были изменены?

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

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