Так что я не самый разбирающийся в хрюканье, но это озадачило меня до глубины души.Когда я запускаю задачу grunt адаптивного образа, она работает нормально, но ничего не выводит в папку назначения ...
Вот часть ошибки:
И это дерево папок:
У меня есть другие задачи, которые запускаются в моем Gruntfile.js, так что это что-то с задачами respive_images.
Полный код
/**
* gruntfile.js
*
* original code from jeff1evesque @ https://gist.github.com/jeff1evesque/b98560d6c4d9914049f9
* modified as needed
*/
module.exports = function (grunt) {
grunt.initConfig({
// Watch task configuration
watch: {
css: {
files: 'src/scss/*.scss',
tasks: ['sass'],
},
js: {
files: 'src/js/*.js',
tasks: ['uglify'],
},
img: {
files: 'src/img/*.{png,jpg,gif}',
tasks: ['responsive_images', 'imagemin'],
},
html: {
files: 'src/*.html',
tasks: ['htmlmin'],
}
},
// Sass task configuration
sass: {
dist: {
files: [{
expand: true, // enable dynamic expansion
cwd: 'src/scss/',
src: ['**/*.scss'],
dest: 'dist/public/css/',
ext: '.min.css', // dest filepaths will have this extension
extDot: 'first', // extensions in filenames begin after the first dot
}],
options: {
style: 'compressed'
},
},
},
// Uglify task configuration
uglify: {
my_target: {
files: [{
expand: true, // enable dynamic expansion
cwd: 'src/js/',
src: ['**/*.js'],
dest: 'dist/public/js/',
ext: '.min.js', // dest filepaths will have this extension
extDot: 'last', // extensions in filenames begin after the last dot
}],
},
},
// Resize and save all images
responsive_images: {
dev: {
options: {
engine: 'gm',
sizes: [{
name: '320',
quality: 100,
width: 320
},{
name: '440',
quality: 100,
width: 440
},{
name: '680',
quality: 100,
width: 680
},{
name: '1024',
quality: 100,
width: 1024
},{
name: '1200',
quality: 100,
width: 1200
}]
},
files: [{
expand: true,
cwd: 'src/img/',
src: ['*.{jpg,gif,png}'],
dest: 'dist/public/img/',
}]
}
},
// Copy images to new destination
// copy: {
// dev: {
// files: [{
// expand: true,
// src: ['**/*'],
// cwd: 'src/img',
// dest: 'dist/public/img'
// }]
// }
// },
// Imagemin task configuration
imagemin: {
dynamic: {
files: [{
expand: true, // enable dynamic expansion
cwd: 'src/img/',
src: ['**/*.{png,jpg,gif}'],
dest: 'dist/public/img/',
}],
},
},
//Htmlmin task configuration
htmlmin: {
dist: {
options: {
removeComments: true,
collapseWhitespace: true
},
files: [{
expand : true,
cwd : 'src',
src : '**/*.html',
dest : 'dist/public'
}]
},
// dev: {
// files: [{
// expand: true,
// cwd: 'app',
// src: ['src/**/*.html', '*.html'],
// dest: 'dist/'
// }]
// },
},
});
// Load Plug-ins
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-uglify');
// grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-responsive-images');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
// Register Tasks: used as commands
grunt.registerTask('build-sass', ['sass', 'watch']);
grunt.registerTask('build-uglify', ['uglify', 'watch']);
grunt.registerTask('build-img', ['responsive_images']);
// grunt.registerTask('build-copy', ['copy', 'watch']);
grunt.registerTask('build-imagemin', ['imagemin']);
grunt.registerTask('build-htmlmin', ['htmlmin', 'watch']);
grunt.registerTask('default', ['sass', 'uglify', 'responsive_images','imagemin', 'htmlmin', 'watch']);
};
И вот только задача responseive_images
module.exports = function (grunt) {
grunt.initConfig({
// Watch task configuration
watch: {
img: {
files: 'src/img/*.{png,jpg,gif}',
tasks: ['responsive_images'],
}
},
// Resize and save all images
responsive_images: {
dev: {
options: {
engine: 'gm',
sizes: [{
name: '320',
quality: 100,
width: 320
},{
name: '440',
quality: 100,
width: 440
},{
name: '680',
quality: 100,
width: 680
},{
name: '1024',
quality: 100,
width: 1024
},{
name: '1200',
quality: 100,
width: 1200
}]
},
files: [{
expand: true,
cwd: 'src/img/',
src: ['*.{jpg,gif,png}'],
dest: 'dist/public/img/',
}]
}
}
});
// Load Plug-ins
grunt.loadNpmTasks('grunt-responsive-images');
// Register Tasks: used as commands
grunt.registerTask('build-img', ['responsive_images']);
grunt.registerTask('default', ['responsive_images', 'watch']);
};
Я проверил мои package.json и package-lock.json, все выглядит какбыть в порядке, включая управление версиями.
Grunt v. 1.0.3 grunt-responseive-images v. 1.10.1 GraphicsMagick v. 1.3.31 ОС Windows 10
Пожалуйста и спасибо.