javascript - serve - que es gulp
Grunt imagemin: mira mĂșltiples archivos/carpetas para optimizar un solo archivo. (1)
En función de los documentos de grunt-contrib-imagemin, el atributo de archivo toma un objeto de pares src / dest (clave / valor).
files: { // Dictionary of files
''dist/img.png'': ''src/img.png'', // ''destination'': ''source''
''dist/img.jpg'': ''src/img.jpg'',
''dist/img.gif'': ''src/img.gif''
}
Creo que es por eso que está obteniendo el error.
Para hacer lo que quieras, al menos lo que yo creo que quieres, agregaría otra subtarea a imagemin como a continuación.
imagemin: {
dist: {
files: [{
expand: true, // Enable dynamic expansion
cwd: ''images/modules'', // Src matches are relative to this path
src: [''images/modules/**/*.{png,jpg,gif}''],// Actual patterns to match
dest:''images/modules'' // Destination path prefix
}]
},
single: {
cwd: ''images/modules'',
files: ''images/modules/img.png'': ''images/modules/img.png'',
dest: ''images/modules''
}
},
watch: {
images: {
files: [''images/modules/**/*.{png,jpg,gif}''],
tasks: [''imagemin:single''],
options: {
spawn: false,
}
}
}
por lo tanto, el comando de observación anterior verá todos los archivos que coincidan con los archivos regex y llevará a cabo la single
subtarea de la tarea principal del watch
.
De nuevo, creo que esto es lo que quieres hacer, pero si no, ¿podrías explicarlo más?
¿Es posible mirar múltiples archivos / carpetas pero optimizar solo un solo archivo usando grunt-contrib-imagemine y grunt-contrib-watch?
Intenté de esta manera: (parte de gruntfile)
imagemin: {
dist: {
cwd: ''images/modules'',
files: [''images/modules/**/*.{png,jpg,gif}''],
dest: ''images/modules''
}
},
watch: {
images: {
files: [''images/modules/**/*.{png,jpg,gif}''],
tasks: [''imagemin''],
options: {
spawn: false,
}
}
}
grunt.event.on(''watch'', function(action, filepath, target) {
if (grunt.file.isMatch(grunt.config(''watch.images.files''), filepath)) {
grunt.config(''imagemin.dist.src'', [filepath]);
}
});
Pero no funciona. Vuelve:
Running "imagemin:dist" (imagemin) task
Verifying property imagemin.dist exists in config...OK
Files: [no src] -> images/modules
Options: optimizationLevel=7, progressive, pngquant=false
Options: optimizationLevel=7, progressive, pngquant=false
Warning: path must be a string
¿Algunas ideas? Gracias.