uni-app 发布H5时删除console不生效

uni-app 发布H5时删除console不生效

开发环境 版本号 项目创建方式
Windows 18363.1556 HBuilderX
## 示例代码:

```javascript
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  
    })  
  }  
};

操作步骤:

  • 打包发布H5

预期结果:

  • 删除console.log

实际结果:

  • 没有删除

bug描述:

使用官方给的配置,在根目录的vue.config.js中写了上面的代码,但是打包后不生效,并没有删除console.log

之前使用这段代码发布版本是可以去掉输出的,刚刚试了下,旧项目重新打包了一次,发现console没有去掉,在前面多了[system],这是升级了IDE的bug吗?


更多关于uni-app 发布H5时删除console不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

我也遇到了这个问题,请问楼主解决了吗?

更多关于uni-app 发布H5时删除console不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


请问什么版本。3.5.3 版本未测试出此 bug

这里提bug真的有人看吗?根本没人跟进处理

这样写试试:
module.exports = { chainWebpack: (config) => { // 发行或运行时启用了压缩时会生效 config.optimization.minimizer(‘terser’).tap((args) => { const compress = args[0].terserOptions.compress compress.drop_console = true compress.pure_funcs = [ ‘console.log’, “console.table” ] return args }) } }

4.66版本有此问题

4.36版本无此问题,升级4.75就有这问题了,一样的代码啊,我滴天啊,好像还回不去了,切换回去还说我啥啥已经是最新的了,切换回4.36也是不能屏蔽了 terserOptions: { compress: { // 发布时删除 console drop_console: true, }, },

回到顶部