前端压缩打包,能不能把console之类的去掉,找了答案,但是不行啊?

能打包但是console.log去不掉

gulp.task("agency:build", ["agency:cache-templates"], function (cb) {    agencySource.js.src.push(agencySource.build.cache + "/app.js");
    pump(
        [
            gulp
                .src(agencySource.js.src)
                .pipe(envify({ NODE_ENV: 'production' }))                .pipe(stripDebug())                .pipe(ngAnnotate())                .pipe(babel())                .pipe(concat("app.js")),
                
                //process.env.NODE_ENV
            uglify({ drop_console: true}),
            gulp.dest(agencySource.build.cache)
            // .pipe(concat('app.js'))
            // .pipe(gulp.dest(agencySource.build.cache))
        ],
        cb
    );
});

找到了一部分答案,但是效果不完全,只能去掉一部分console

uglify({
  compress: {
    warnings: false,
    drop_console: true,  // 过滤 console
    drop_debugger: true  // 过滤 debugger
  }
})
用了之后console.log从1200多个变成了800多个~~~~
再用
`window.console.log = function() {}`屏蔽多余的console

希望还能优化一,怎么吧多余的console去掉

求大佬们来拯救一波~!!!谢谢


暮色呼如
浏览 1702回答 2
2回答

哆啦的时光机

没记错的话,drop_console 在 compress 里,你这样用当然去不掉。建议仔细阅读文档。

largeQ

在webpack.prod.conf.js文件里new webpack.optimize.UglifyJsPlugin({      compress: {        warnings: false,         /*不显示控制台打印信息*/        drop_debugger: true,        drop_console: true,        pure_funcs: ['console.log']       },      sourceMap: false     })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript