admin管理员组

文章数量:1516870

项目打包,去除控制台打印

  • 一行代码

    • 重写console.log方法
    • // 重新console.log方法 , 放在main.js入口文件即可
      console.log = function () { }
  •  优化写法

    • 一行代码的写法 , 也可以控制台输出解决问题 , 但我们在开发环境下还需要对log进行删除,而生产环境还需要添加 , 虽然重复这样也可以解决问题 , 但为了优化 , 只需要判断生产环境重新方法 , 开发环境不重写即可 , 那么判断即可
    • main.js入口文件复制这行代码即可
    • // 需要分2个环境的代码时
      // 可以用process.env.NODE_ENV 来进行判断
      // process是nodejs环境的全局变量
      // env固定属性
      // NODE_ENV, webpack配置好的一个属性名
      // yarn serve ,webpack会加载开发"环境的配置变量" NODE_ENV值默认就是'development'
      // yarn build, webpack会加载生产环境的配置变量 NODE_ENV值默认就是'production'
      console.log(process.env)
      if (process.env.NODE_ENV === 'production') {console.log = function () { }// 类似警告 , 错误 , 对象 也可以在生产环境去掉// console.error = function () { }// console.dir = function () { }// console.warning = function () { }
      }
      // 让这段代码先执行
      // 以后console.log(), 相当于调用了你覆盖的空方法, 所以就没有打印了
      
  •  封装

    • 上述已经解决了问题 , 这种一个是为了将这个去除注释的封装到一个js文件,在main.js引入即可,方便维护,也为了防止入口文件代码过多

本文标签: 项目打包去除控制台打印