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

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

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

背景

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

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

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

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

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

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

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

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

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

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

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

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

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

思考

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

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

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

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

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

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

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

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

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

使用方法很简单r0X28资讯网——每日最新资讯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 中的死信队列

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

标签:
  • 热门焦点
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 共享单车的故事讲到哪了?

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

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 信通院:小米、华为等11家应用商店基本完成APP签名及验签工作

    中国信通院表示,目前,小米、华为、OPPO、vivo、360手机助手、百度手机助手、应用宝、豌豆荚和努比亚等9家应用商店,以及抖音和快手2家新型应用分发平
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
  • 华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    北京时间2月27日晚,华为在巴塞罗那举行春季智慧办公新品发布会,在海外市场推出之前已经在中国市场上市的笔记本、平板、激光打印机等办公产品,并首次推出搭载
Top