uglify plugin javascript node.js gruntjs uglifyjs

javascript - uglifyjs>- webpack plugin



Cómo ignorar archivos gruñidos uglify (1)

Fondo

Acabo de empezar a usar ronco hace aproximadamente 30 minutos. Así que tengan paciencia conmigo.

Pero tengo un script bastante simple que mira mi js y luego lo comprime todo en un archivo para mí.

Código

"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''); }

Pregunta

Mi main.min.js se incluye en la compilación cada vez. Lo que significa que mi min.js está obteniendo 2x, 4x, 8x, 16x, etc. ¿La mejor manera de evitar esto es agregar una excepción e ignorar main.min.js ?


Al final de la matriz src, agregue

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

Esto lo excluirá. Los ! lo convierte en una exclusión.

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

Rutas que coinciden con los patrones que comienzan! se excluirá de la matriz devuelta. Los patrones se procesan en orden, por lo que el orden de inclusión y exclusión es significativo.

Esto no es específico de grunt uglify, pero cualquier tarea que use la convención de grunt para especificar archivos funcionará de esta manera.

Sin embargo, como consejo general, sugeriría poner archivos integrados en algún lugar que no sean sus archivos de origen. Como en una carpeta de raíz de raíz.