tutorial serve que instalar grunt con compilar javascript gruntjs grunt-contrib-watch

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.