Comment ignorer les fichiers grunt uglify

Contexte

Je viens de commencer à utiliser grunt à partir d'environ 30 minutes. Alors supportez-moi.

Mais j'ai un script assez simple qui va regarder mes js et ensuite le compresser tout dans un fichier pour moi.

Code

"use strict"; module.exports = function (grunt) { // load all grunt tasks require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { beautify: true, report: 'gzip' }, build: { src: ['docroot/js/*.js', 'docroot/components/pages/*.js', 'docroot/components/plugins/*.js'], dest: 'docroot/js/main.min.js' } }, watch: { options: { dateFormat: function(time) { grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString()); grunt.log.writeln('Waiting for more changes...'); } }, js: { files: '<%= uglify.build.src %>', tasks: ['uglify'] } } }); grunt.registerTask('default', 'watch'); } 

Question

My main.min.js est inclus dans la compilation à chaque fois. Cela signifie que mon min.js obtient 2x, 4x, 8x, 16x, etc., etc. Est-ce que la meilleure solution est d'ajouter une exception et d'ignorer main.min.js ?

À la fin de la matrice src, ajouter

 '!docroot/js/main.min.js' 

Cela l'exclura. Le ! En fait une exclusion.

http://gruntjs.com/api/grunt.file#grunt.file.expand

Les chemins correspondent aux modèles qui commencent avec! Seront exclus du tableau renvoyé. Les modèles sont traités dans l'ordre, donc l'ordre d'inclusion et d'exclusion est significatif.

Ceci n'est pas spécifique à la grêle uglify, mais toute tâche qui utilise une convention grunt pour la spécification de fichiers fonctionnera de cette façon.

Cependant, en général, je suggérerais de mettre des fichiers construits ailleurs que vos fichiers sources. Comme dans un dossier dist .