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

发布于 2022-09-07 23:17:41 字数 1082 浏览 17 评论 0

能打包但是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去掉

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

錯遇了你 2022-09-14 23:17:41

完美解决

var es = require("event-stream");
var gulp = require("gulp");
var pump = require("pump");
var babel = require("gulp-babel");
var ngAnnotate = require("gulp-ng-annotate");

gulp.task("agency:prodjs", function (cb) {
    pump(
        [ es
        .merge(gulp.src(agencySource.js.src))
            .pipe(ngAnnotate())
            .pipe(babel())
        .pipe(concat("app.js")),
        uglify({
                compress: {
                    warnings: false,
                    drop_console: true, // 过滤 console
                    drop_debugger: true // 过滤 debugger
                }
            }),
            gulp.dest(agencySource.build.cache)
        ],
        cb
    );
});
撧情箌佬 2022-09-14 23:17:41

没记错的话,drop_consolecompress 里,你这样用当然去不掉。

建议仔细阅读文档。

疧_╮線 2022-09-14 23:17:41

webpack.prod.conf.js文件里

new webpack.optimize.UglifyJsPlugin({
      compress: {
        warnings: false,
        /*不显示控制台打印信息*/
        drop_debugger: true,
        drop_console: true,
        pure_funcs: ['console.log']
      },
      sourceMap: false
    })
岁月静好 2022-09-14 23:17:41

你用的是 gulp,安装 gulp-uglify 插件;

uglify({
  compress: {
    warnings: false,
    drop_console: true,  // 过滤 console
    drop_debugger: true  // 过滤 debugger
  }
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文