2013-01-08 30 views
12

Tôi đang sử dụng các plugin grunt-contrib-uglify trong số grunt 0.4 của mình.Làm cách nào để chỉ định nhiều bản đồ nguồn trong công việc làm xấu xí?

Tôi có nhiệm vụ sau đây:

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

Như bạn thấy, làm xấu đi được cấu hình để nén nhiều file, và chỉ có một nguồn bản đồ xác định. (Tôi không thể tìm ra cách để chỉ định nhiều kết quả đầu ra sourcemap).

Ngoài ra, uglify sẽ ghi đè bản đồ souc sau khi nén từng tệp js.

Làm cách nào để định cấu hình plugin này để xuất bản đồ nguồn hoàn chỉnh cho tất cả các tệp js của tôi?

Trả lời

11

Bạn có thể đặt dấu chấm câu tại sourceMap.

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

'sourceMap: function (đường dẫn) {return path.replace (./Js $ /, "js.map.")} ' –

2

Trong phiên bản V0.4.0, sourceMap là giá trị Boolean. Sử dụng bản dựng động để tạo nhiều bản đồ nguồn với nhiều tệp .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' 
    }] 
} 
Các vấn đề liên quan