当前位置:首页 > 科技  > 软件

改造 console.log!也能提高团队开发效率?

来源: 责编: 时间:2024-04-15 18:17:02 294观看
导读背景最近在帮助团队中一位前端开发定位问题时,发现他是通过控制台的打印,也就是console.log去打印,然后通过打印的东西,去看是否达到预期的结果,比如他在Login/Index.vue中写了这么一段代码:let name = null// ...coding 对

背景

最近在帮助团队中一位前端开发定位问题时,发现他是通过控制台的打印,也就是console.log去打印,然后通过打印的东西,去看是否达到预期的结果,比如他在Login/Index.vue中写了这么一段代码:I0M28资讯网——每日最新资讯28at.com

let name = null// ...coding 对name进行处理// 最后输出 nameconsole.log('我是Index.vue', name)

这个时候肯定是马上打开网页,查看控制台,看看 name 这个变量的值是否达到预期,但是一看控制台,懵逼了(下面是例子,但是真实项目中超级多的打印)I0M28资讯网——每日最新资讯28at.com

图片图片I0M28资讯网——每日最新资讯28at.com

为什么懵逼呢?因为项目中很多个文件都是这么打印的。。。这时候就出现两个问题了:I0M28资讯网——每日最新资讯28at.com

  • 1、很多个文件都命名为Index.vue怎么知道哪个打印是我想看的那个?
  • 2、我打印的是 name,怎么确定哪个打印的是name呢?

这个时候,怎么解决呢?一个一个点进源码里看吗?I0M28资讯网——每日最新资讯28at.com

图片图片I0M28资讯网——每日最新资讯28at.com

那可太累了,只有两个文件还好,如果是十个,二十个呢?那不是累死了!!!I0M28资讯网——每日最新资讯28at.com

所以很多人第一选择肯定是回去改代码,让代码更加准确地表达I0M28资讯网——每日最新资讯28at.com

let name = null// ...coding 对name进行处理// 最后输出 nameconsole.log('我是/Login/Index.vue',             `name = ${name}`)

这时候我们就可以准确地看到我们想看到的那个文件的输出I0M28资讯网——每日最新资讯28at.com

图片图片I0M28资讯网——每日最新资讯28at.com

思考

考虑到现在项目中已经有很多这样的console.log了,且因为以前的人不注意,导致了输出的东西表达的意义不是很明确,所以代码的可维护性大大降低I0M28资讯网——每日最新资讯28at.com

console.log其实也是开发阶段很重要的一部分I0M28资讯网——每日最新资讯28at.com

刚刚在 Login/Index.vue 那个例子中,我们最后是通过修改输出,进而准确地看到我们想看的文件输出,但是这样还是得人为去改,我们能不能做到自动呢?比如有两个Index.vueI0M28资讯网——每日最新资讯28at.com

// login/Index.vueconst name = 'sunshine_lin'const age = 20console.log(name, age)// team/Index.vueconst name = 'sunshine_lin'const age = 20const gender = '男'console.log(name, age, gender)

我希望是控制台能自动输出这样:I0M28资讯网——每日最新资讯28at.com

图片图片I0M28资讯网——每日最新资讯28at.com

这样能通过文件路径看到具体是哪一个文件输出的信息,并且都能看到每一个输出值所对应的变量名I0M28资讯网——每日最新资讯28at.com

所以我开发了两个插件来实现这个功能(非常感谢暴走老七大佬,我好多代码都是学他的~)I0M28资讯网——每日最新资讯28at.com

  • vite-perfect-console-plugin: 适用于 vite 项目
  • babel-plugin-perfect-console: 适用于 webpack 项目

源码链接: https://github.com/sanxin-lin/clear-console-pluginsI0M28资讯网——每日最新资讯28at.com

使用方法很简单I0M28资讯网——每日最新资讯28at.com

// vite 项目npm i vite-perfect-console-plugin// vite.config.tsimport VitePerfectConsolePlugin from 'vite-perfect-console-plugin'defineConfig({  plugins: [    //...plugins    // tip 默认是  
                

本文链接:http://www.28at.com/showinfo-26-83639-0.html改造 console.log!也能提高团队开发效率?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 聊聊 RabbitMQ 中的死信队列

下一篇: 首屏时间,你说你优化了,那你倒是计算出来给我看啊!

标签:
  • 热门焦点
  • 一加Ace2 Pro真机揭晓 钛空灰配色质感拉满

    终于,在经过了几波预热之后,一加Ace2 Pro的外观真机图在网上出现了。还是博主数码闲聊站曝光的,这次的外观设计还是延续了一加11的方案,只是细节上有了调整,例如新加入了钛空灰
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
  • 超闭合精工铰链 彻底消灭缝隙 三星Galaxy Z Flip5与Galaxy Z Fold5发布

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。三星新一代折叠屏手机采用超闭合精工铰链,让折叠后的缝隙不再可见。同时,配合处
Top