2013-01-08 38 views
12

Sto utilizzando il plug-in grunt-contrib-uglify nel mio grunt 0.4.Come specificare più mappe sorgente in attività uglify grunt?

Ho la seguente operazione:

uglify: { 
    dist: { 
    options: { 
     sourceMap: 'dist/sm/sm.js' 
    }, 
    files: grunt.file.expandMapping(['*.js'], 'dist/js', { 
     cwd: 'dist/js' 
    }) 
    } 
}, 

Come si può vedere, uglify è configurato per comprimere più file, e non v'è una sola fonte-map specificata. (Non sono in grado di trovare un modo per specificare più output di sourcemap).

Inoltre, uglify sovrascrive la mappa di souc dopo la compressione di ciascun file js.

Come configurare questo plug-in per generare le mappe di origine complete per tutti i miei file js?

risposta

11

È possibile impostare la funzione su sourcemap.

uglify: { 
    options: { 
     sourceMap: function(path) { return path.replace(/.js/,".map")} 
    }, 
    ..... 
+3

'Sourcemap: function (percorso) {return path.replace (./Js $ /, "js.map.")}' –

2

Nella versione v0.4.0, sourceMap è Boolean valore. Utilizzare la build dinamica per produrre più sourcemap con più file .min.js.

uglify: { 
    options: { 
    sourceMap: true 
    }, 
    build: { 
    files: [{ 
     expand: true, 
     cwd: 'src/', 
     src: '*.js', 
     dest: 'build/', 
     ext: '.min.js', 
     extDot: 'first' 
    }] 
    } 
} 
0
options: { 
    beautify: false, 
    banner: 'lorem ipsum', 
    mangle: false, 
    sourceMap: true, 
    compress: { 
    conditionals: true, 
    booleans: true, 
    unused: true, 
    sequences: true, 
    dead_code: true, 
    if_return: true, 
    join_vars: true, 
    drop_console: true 
    } 
}, 
min: { 
    files: [{ 
    expand: true, 
    cwd: '<%= config.destination.js %>', 
    src: ['**/*.js', '!**/*.min.js'], 
    dest: '<%= config.destination.js %>', 
    ext: '.min.js' 
    }] 
} 
Problemi correlati