Запуск задания только для измененного файла

У меня есть грубая задача, которая переносит машинописные файлы в javascript. На охоте я передаю все имеющиеся у меня.ts файлы. Затем я хотел бы настроить grunt для просмотра файлов.ts, но переносить ТОЛЬКО файл.ts, который был изменен.

После поиска в Интернете я нашел следующую опцию:

Задача Grunt ts:

ts: {
        all: {
            src: ['scripts/**/*.ts'],
            reference: 'scripts/_references.ts'
        }
    },

Это самая главная задача, я потом слушаю часы:

grunt.event.on('watch', function (action, filepath, target) {
    switch (target) {
        case 'ts':
        {
            grunt.config(['ts.all.src'], filepath);
            grunt.config('watch.ts.tasks', 'ts');
            break;
        }
    }

Дело в том, что задача выполняется, но файлы, которые я обновляю до переменной ts.all.sec, остаются такими же, как и на grunt serve, и задача снова переносит все файлы.

Спасибо!

2 ответа

Решение

но переносите ТОЛЬКО файл.ts, который был изменен.

grunt-ts может сделать это, если вы не используете reference.ts (потому что в противном случае компилятор машинописного текста прошел бы по дереву и скомпилировал бы все ссылочные файлы независимо), и не использовал --out (у вас все хорошо... вы не используете его) и вместо этого используйте внешние модули. Подробнее: ( https://github.com/grunt-ts/grunt-ts)

Вы ищете плагин, который называется grunt-newer. Это именно то, что вам нужно.

Другие вопросы по тегам