j***@163.com
j***@163.com
  • 发布:2019-12-26 10:42
  • 更新:2020-04-10 16:36
  • 阅读:1671

发布为H5时,可以清除console命令吗?

分类:uni-app

请教怎样在发布时候自动清除掉console.log调试用的信息?

2019-12-26 10:42 负责人:无 分享
已邀请:
j***@163.com

j***@163.com (作者) - 姜还是老的辣

自己解决了

安装 babel-plugin-transform-remove-console 插件

1.安装位置:HBuilderX\HBuilderX\plugins\uniapp-cli, 在此目录下运行

npm install babel-plugin-transform-remove-console --save-dev

2.配置 babel.config.js 文件, 代码在···module.exports···的前面就可以了

if (process.env.NODE_ENV === 'production' && true) {  
  plugins.push('transform-remove-console')  
}

完成了, 发布测试, 没有调试信息了。

条件中加的这个 && true :如果临时需要看调试信息, 改为 false就可以了。相当于一个开关

1***@qq.com

1***@qq.com

hbuilderX 2.6.8 在vue.config.js文件添加如下代码可以实现发布时清除consle

chainWebpack: (config) => {  
        // 发行或运行时启用了压缩时会生效  
        config.optimization.minimizer('terser').tap((args) => {  
            const compress = args[0].terserOptions.compress;  
            // 非 App 平台移除 console 代码(包含所有 console 方法,如 log,debug,info...)  
            compress.drop_console = true;  
            compress.pure_funcs = [  
                '__f__', // App 平台 vue 移除日志代码  
                'console.log' // 可移除指定的 console 方法  
            ];  
            return args;  
        });  
    }

参考官方文档

该问题目前已经被锁定, 无法添加新回复