Запрет запуска Grunt в целевом каталоге
В настоящее время пытаюсь выяснить Grunt, и первая конфигурация, которую я настраиваю, это grunt-contrib-imagemin.
Мой код в настоящее время выглядит так:
module.exports = function(grunt) {
// Parse JSON
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Configure tasks
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'img/',
src: ['**/*.{png,gif,jpg}'],
dest: 'img/build/'
}]
}
}
});
// Load tasks
grunt.loadNpmTasks('grunt-contrib-imagemin');
// Register tasks
grunt.registerTask('default', ['imagemin']);
};
Теперь, все это делает свою работу просто отлично при первом запуске, однако проблема возникает при запуске его во второй раз. В первый раз он аккуратно минимизирует мои изображения и помещает их в 'img/build/'. Во второй и последующие разы я запускаю его, он не только минимизирует файлы в cwd, но также минимизирует файлы в целевом каталоге, создает новую папку "build" и так далее.
Есть ли какой-нибудь способ помешать Grunt минимизировать файлы в каталоге назначения?
1 ответ
Ваш целевой каталог находится внутри вашего исходного каталога. Вы также ищете все файлы изображений в img/
(который найдет файлы в img/build
).
Если вы все еще хотите сохранить это, попробуйте ['**/*.{png,gif,jpg}', '!build/']
как твой src
В качестве альтернативы измените каталог назначения.