取消生产环境/开发环境 控制台输出

Posted marvelousone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取消生产环境/开发环境 控制台输出相关的知识,希望对你有一定的参考价值。

取消生产环境控制台输出

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');


module.exports = {
    devServer: {
        port: 8899,     // 端口
    },
    lintOnSave: false,   // 取消 eslint 验证

    configureWebpack:{
        optimization: {
            minimizer: [
                new UglifyJsPlugin({
                    uglifyOptions: {
                        compress: {
                        // warnings: false,
                        drop_console: true,//console
                        drop_debugger: false,
                        pure_funcs: ['window.console.log']//移除console
                        }
                    }
                })
            ]
        }
    }
    
    // configureWebpack: (config)=>{
    //     if(process.env.NODE_ENV === 'production'){
    //       config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
    //     }
    // }

    // if(isProduction) {
    //     minimizer:[
    //     new UglifyJsPlugin({
    //         uglifyOptions: {
    //             mangle: {
    //                 safari10: true
    //             },
    //             compress: {
    //                 warnings: false,
    //                 drop_debugger: true,//console
    //                 drop_console: true,
    //                 pure_funcs: ['console.log']//移除console
    //             },
    //         },
    //         sourceMap: config.build.productionSourceMap,
    //         cache: true,
    //         parallel: true,
                    
    //       }),
    //     ]
    // }

    
    // configureWebpack: config => {
    //     if (process.env.NODE_ENV === 'production') {
    //       // 为生产环境修改配置
    //       config.plugins.push(
    //           new UglifyJsPlugin({
    //               uglifyOptions: {
    //                   compress: {
    //                       drop_debugger: true,
    //                       drop_console: true,  //生产环境自动删除console
    //                   },
    //                   warnings: false,
    //               },
    //               sourceMap: false,
    //               parallel: true,//使用多进程并行运行来提高构建速度。默认并发运行数:os.cpus().length - 1。
    //           })
    //       );
    //     }
    // }

    // minimizer:[
    //     new UglifyJsPlugin({
    //         uglifyOptions: {
    //             mangle: {
    //                 safari10: true
    //             },
    //             compress: {
    //                 warnings: false,
    //                 drop_debugger: true,//console
    //                 drop_console: true,
    //                 pure_funcs: ['console.log']//移除console
    //             },
    //         },
    //         sourceMap: config.build.productionSourceMap,
    //         cache: true,
    //         parallel: true,
                    
    //       }),
    // ]
    
};



// terser-webpack-plugin
// module.exports = {
//     devServer: {
//         port: 8899,     // 端口
//     },
//     lintOnSave: false,   // 取消 eslint 验证
//     configureWebpack: (config)=>{
//       if(process.env.NODE_ENV === 'production'){
//         config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
//       }
//     }
// }

一种简单粗暴的方法

在加载完成后,重写console.log

console.log = function() {}
window.console.log = function(){}

以上是关于取消生产环境/开发环境 控制台输出的主要内容,如果未能解决你的问题,请参考以下文章

spring boot--日志开发和生产环境切换自定义配置

node配置运行环境变量;

springboot如何实现logback不同环境日志输出路径不同

log4j2 在开发环境(win)下可以输出日志,但在生产环境(linux)无日志输出

19 条 Node.js 生产环境中的最佳实践

CI框架 -- 开发环境生产环境