如何使用的是vue3 vite ts uniapp 打包h5还是无法去除console?(uniapp)

uniapp 打包无法去除console

使用的是vue3 vite ts uniapp 打包h5还是无法去除console

不过我目前使用的是window.console.log = function() { }//开发环境去除console.log 这个方法感觉不是很好

有没有大佬说说为什么vue.config.js 在uniapp中无法去除console

可uniapp官方的写着这个可以去除

官网案例 但打包无效

img


module.exports = {
    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.debug' // 可移除指定的 console 方法
            ]
            return args
        })
    }
}

你在使用vue.config.js时需要注意一点,uniapp的webpack配置是在uni-app/vue.config.js中进行配置的,而不是在根目录下的vue.config.js。因此,你需要将配置写在uni-app/vue.config.js文件中才能生效。你可以尝试将你的代码复制到uni-app/vue.config.js文件中,然后重新打包,看看是否生效。

另外,使用window.console.log = function() { }这种方法去除console.log并不是一个好的做法,因为这样会影响到全局的console对象,如果其他地方需要使用console.log打印日志,就会出现问题。建议还是使用webpack配置去除console,或者在代码中手动注释掉console.log语句。