自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 相见恨晚!vscode 插件 code spell checker,解决最难发现的 bug ——单词拼写错误

介绍一款单词纠错插件,真的是马虎鬼的利器,人生苦短,我们真的需要这款插件,适用场景真的很广泛,你的痛点几乎都能得到解决。

2024-05-19 10:50:47 1609 2

原创 这可能是最全的总结:css 媒体查询@media 不生效的原因

css 媒体查询@media 不生效的原因,不仅介绍了重灾区样式覆盖问题,还介绍了标签,环境匹配,仿真设备等因素

2024-05-16 15:11:52 699

原创 通过《阿凡达》来一次JavaScript执行上下文的形象理解之旅

借阿凡达的一些情节和设定来帮助我们更深刻地理解js中的执行上下文,让枯燥的知识生动起来,让知识的孤岛链接起来。

2024-05-09 13:26:16 1162

原创 懂了js中0.1+0.2 !=0.3之后,没懂0.1+0.5=0.6,0.2+0.3=0.5 和 0.3+0.4=0.7?没关系,来一起懂!

这篇文章主要是结合几个典型的例子,来讲清楚浮点数运算造成精度丢失的问题,计算机中浮点数的相等和不相等是怎么判定的,授之以鱼且授之以渔。

2024-05-08 15:56:45 833

原创 强缓存与协商缓存的实战验证,浏览器对服务器匹配到的协商缓存返回的304状态码做了一次转换,转换成了200?为啥你们都不说,问了AI,连AI也不知道?

最可气的是,我问国内的AI,AI说是我的代码有问题,改了一个多小时,最后使用postman去直接发请求,绕过浏览器,手动为header添加一个If-None-Match,终于捕捉到服务端返回的状态码304。因此,浏览器在从缓存中获取资源后,会把状态码改为200,表示资源获取成功。对于页面(document)类型的请求,浏览器通常会直接显示服务器返回的状态码,也就是304,这是因为这种类型的请求通常表示一个全新的页面加载,浏览器会尽可能地提供更多的信息,以便于开发者对页面加载过程有更全面的理解。

2024-05-08 00:38:50 740

原创 javascript中宏任务与微任务的区别,各自是怎样界定的?一个例子说明白

这意味着,如果你在一个微任务中不断地创建新的微任务,JavaScript 引擎可能会持续执行微任务,而没有机会开始新的宏任务,可能会导致 JavaScript 引擎耗尽资源,从而影响应用程序的性能。在每个宏任务中,JavaScript 引擎会首先执行宏任务队列中的一个任务,然后执行完所有的微任务队列。在微任务队列清空后,JavaScript 引擎会开始新的事件循环,执行宏任务队列中的任务。不完全是,微任务是可以在宏任务的执行过程中产生的,也可以在其它微任务的执行过程中产生。你能理解为什么是这个输出顺序吗?

2024-05-07 19:04:36 912

原创 前端高频面试算法之 LeetCode 49 异位词分组,代码逐行注释,附知识点整理

本文讲解了 LeetCode 中的异位词分组算法,是一道中等难度的题目,最主要是考察思路和知识点的运用,除去注、释括号部分,核心代码 10 行左右。文章最后对算法中用到的知识点做了一个系统的整理和复习也都贴了相关的 MDN 链接,包含 split、sort、join、push、Map 等知识点,希望能够对大家有所帮助。

2024-07-16 16:39:33 368

原创 在 VitePress 中安装 mermaid 画 UML,并推荐在线 mermaid 编辑网址

本文主要介绍了 在 VitePress 中安装插件并使用 mermaid 语法来扩展 VitePress 画一些图

2024-07-09 23:13:59 567

原创 前端高频面试算法题之二分查找

这道二分查找是一道比较基础的题目,一些中小厂在面试无经验或低年限经验的同学的时候考察的概率比较大,值得注意的地方就是:1、双指针思路,2、中间值的求法,3、left 和 right 两个指针每次经过一次循环要利用`mid +或者- 1`进行必须的区间缩小处理。

2024-07-08 23:36:57 494

原创 哈哈哈,前端再战 LeetCode 算法之两数之和 twoSum,两种解法精讲,含 ES6 Map 知识点复习

本文探讨了LeetCode中的"两数之和"问题的两种解法:一是暴力解法,使用双层循环,时间复杂度O(n^2);二是更高效的哈希表解法,利用ES6 Map存储遍历过程,以O(n)时间复杂度完成。同时,文章详细回顾了Map的使用,包括创建、插入、删除、查询操作及属性,通过示例代码加深理解。

2024-07-07 11:03:43 758

原创 解决安装了 VSCode 插件 Github Actions 后在.yml 文件中提示 name 无效: Value ‘github-pages‘ is not valid

在安装了 VSCode 插件 Github Actions 后,自己在项目中文件夹下新建 deploy.yml 文件,编辑 deploy.yml 的时候提示 name 字段无效:,经查阅,发现是插件 Github Actions 的问题,需要在插件中刷新一下。在此分享。

2024-07-06 19:24:41 229

原创 我是怎么解决:写Vue3组件库时遇到的一个和 github 还没有 Close 的 issue 一样的问题:Argument of type ‘{ install: (app: App<any>..

本文是我在组件库打包时,遇到的一个插件导出使用报类型错误问题,主要记录自己的解决思路,在此希望对大家有帮助。

2024-07-01 09:54:26 1058

原创 前端 Vite 项目使用 vite-plugin-dts 打包输出.d.ts文件,分析处理踩坑:Cannot find module ‘vue‘. Did you mean to set ...

本文介绍了 vite-plugin-dts 插件的安装和使用,以及如何解决报错使用插件时遇到的找不到相关模块的问题,层层分析错误,并最终找到解决方案,授之以鱼,且授之以渔,学会这个思路,下次你也行。

2024-06-29 23:33:31 963 3

原创 解决 VitePress 在 docs中vue 文件导入的 ts 类型的组件报错:Cannot find module...or its corresponding type declarations

解决 VitePress 在 docs 中 vue 文件导入的 ts 类型的组件报错:Cannot find module '@/components/xxx.vue' or its corresponding type declarations。解决办法就是:让tsconfig.json作用域覆盖到 docs 或者把组件类型设置为any

2024-06-28 10:23:13 454

原创 在项目中使用 VitePress 作为文档常见问题:样式丢失,图标丢失,打包错误,中文配置修改等

总结和记录自己在使用 vitepress 作为 Vue 项目文档时遇到的问题,以及解决方法。包括样式丢失,图标丢失,打包错误,中文配置修改等。

2024-06-27 11:25:04 507

原创 Vue3.3 的 defineOptions 的使用,方便在 setup 语法糖中为组件命名和控制父子属性透传,包含在线运行实例欧

defineOptions 是 Vue3.3 的新的宏,可以通过 defineOptions 宏在 `` 中使用选项式 API,也就是说可以在一个宏函数中设置 name, props, emits, render,控制是否允许父子非 props 的属性透传等功能。

2024-06-24 13:02:28 1079

原创 前端从零配置 基于 TypeScript 的 Jest 单元测试环境,手把手教程

本教程从零开始而且不是基于一个 Vue 或者 React 框架,打破测试环境配置的心里障碍,如果从零都可以配置成功,上个框架原理和方法也会大差不差。

2024-06-21 10:35:02 411

原创 解决 webpack报错:ERROR in ./src/style.css,You may need an appropriate loader to handle this file type...

说到单词拼写错误,真的是比较让人头疼的问题,之前我还单门写了一篇单词拼写错误解决方案。可以看一看,我实际使用下来真的代码感觉拼写错误几乎能够接避免百分之九十以上。如果你是跟着官方教程一步一步敲得,还出现了这个问题,那就是把单词拼错了,把。了,改正过来就能 npm run build 打包编译成功了。老手犯这个错误的可能比较多,写ES6 写多了。

2024-06-17 12:49:53 138

原创 24K 纯干干干货:深入探讨 JavaScript 中变量相等性判断

主要讨论了如何在 JavaScript 中比较两个变量是否相等,特别是基本数据类型和引用数据类型的比较方式。文章还详细介绍了使用`==`和`===`运算符的区别、`Object.is()`方法以及如何比较引用数据类型内容相等的几种方法,包括`JSON.stringify()`、递归比较和第三方库(如 lodash)。最后,文章探讨了基本数据类型和引用数据类型使用`==`运算符时的隐式类型转换。

2024-06-12 09:38:26 809 2

原创 解决安装Cypress报错:No version of Cypress is installed in:xxxx,Please reinstall Cypress ...

解决安装Cypress报错:No version of Cypress is installed in:xxxx,Please reinstall Cypress ...

2024-06-11 17:22:09 299

原创 面试官:你知道 ES6 的 生成器 Generator 吗?小明:说起 Generator,还得从我上次去餐馆点餐开始说起。

文章系统介绍了 ES6 的生成器 Generator,包含精心设计的故事和实例代码,既生动有趣,有可操作性,也不失深度。

2024-06-05 15:29:53 906

原创 如何设置让背景颜色不包括 padding 部分,顺带全面学习 background-clip 属性(可以实现文字渐变)

本文章通过一个需求来引申出一个让背景不包括 padding 的功能,进而系统学习背景裁剪属性 background-clip。包含丰富的讲解和实战示例。

2024-06-02 12:54:29 629

原创 解决 echarts 升级问题:DEPRECATED: itemStyle.emphasis has been changed to emphasis.itemStyle since 4.0

他的意思不是说让你把 emphasis 包裹到原来的 itemStyle 的外面,而是让你把 emphasis 放到与原来的 itemStyle 同级的位置,并且在 emphasis 内部再写一个 itemStyle.

2024-05-31 15:36:56 455

原创 四种为 echarts 条形图柱子设置不同颜色的方法,总有一款适合你

主要通过直接赋值、回调函数静态映射和回调函数动态生成(包括渐变色)这几种方式来设置不同柱子的不同颜色。具体采用哪种方法取决于需求的复杂度和个性化程度,我相信总有一款适合你。

2024-05-30 23:16:00 3827

原创 解决:echarts升级浏览器警告:DEPRECATED: hoverAnimation is deprecated, use emphasis.scale instead.

原来的 hoverAnimation 被废弃了,使用emphasis.scale的方式来代替,emphasis.scale就是对象访问属性的形式,代表的就是在emphasis对象里面有一个属性scale。

2024-05-30 12:42:18 402

原创 解决:autoprefixer.js?v=61b40c49:2340 Module “source-map-js“ has been externalized for browser ...

我自己是在写 vue 组件的时候在 defineProps 的时候,写入父组件传进来的属性 data,但是没有用东西接收,然后直接在 script 标签代码里面使用了 data(其实是不能使用的)

2024-05-29 12:27:33 205

原创 Naive UI 引入icon看不见解决办法,附带下拉框 dropdown 内容文字区域替换成 icon 不生效的解决办法

Naive UI 引入icon看不见,因为官方指定的 ixcon 图标库所有的图标都是 svg 默认是没有宽高的,需要手动指定宽高。

2024-05-16 17:12:26 328

原创 解决使用Naive UI时,使用useMessage浏览器控制台报错的问题

解决:在App.vue文件的根部路由全局包裹一个message-provider,这样就可以全局使用useMessage就没问题了,前提是你的Naive UI要在main上使用app.use挂载。他的原理其实就是Vue的Provider inject 的依赖注入,可以直接看官方文档。

2024-05-13 00:51:23 202 1

原创 解决Naive UI的form表单的form-item自带的--n-feedback-height,在浏览器修改生效,本地改代码不生效问题。

scoped CSS 时,通常样式只应用于当前组件,不会影响到子组件,要想修改就要使用伪元素::v-deep

2024-05-13 00:39:26 327 1

原创 WSL配置网络代理。解决: Failed to connect to raw.githubusercontent.com port 443 after 55 ms: Connection refuse

WSL默认是和主windows系统隔离的,访问不了windows上的代理,所以呢,要手动给它配置一个代理端口。

2024-05-11 16:07:32 398 1

原创 解决linxu系统ubuntu命令行报错:locale: Cannot set LC_CTYPE to default locale: No such file or directory

解决linxu系统ubuntu命令行报错:locale: Cannot set LC_CTYPE to default locale: No such file or directory。

2024-05-11 11:57:43 967 1

原创 node报警告:node:internal/modules/cjs/loader:1137 throw err; ^Error: Cannot find module ‘G:\xxxxx\...‘

之前unistall了一些包,但是有引用残留。这样问题基本就解决了。

2024-05-10 19:54:35 1087 1

原创 windows上oh-my-posh和posh-git安装,提升命令行美观和开发效率,附带vscode的适配

这个教程的需要一定的文档阅读的基础,还需要有耐心,不提供一步一步的截屏操作引导,只给大方向的指导,因为如果不是经常用命令行,装这个性价比不是很高,说白了这个百分之八十是一个花瓶,百分之二十的效率。因为我之前也是看别人文档装的,但是有很多教程很老,出现各种问题,比如各种版本问题,让我很头疼。最终还是走上看官方文档的路,才装好。所以你如果想装最新版,跟着我这个教程,一步一步来,相信能成功。

2024-05-05 16:41:32 1450 3

原创 绊倒node小白的第一道坎:请求中传过来的body参数打印出来一直是undefined?导个包就行了?还有细节!

需要导入一个包就是body-parser,然后在导入这个包,注意要路由挂载之前先挂载这个包npm安装body-parser包导入并挂载这个包这样就可以了。大家看看这个包的名字body-parser,意思就是body的解析器。熟悉http协议的话,应该听说过,发请求的时候,body里面的参数都是要加密传输的,就是说浏览器会对body里的数据进行加密,那么到后端肯定就是要解析出来,才能得到真正传输的数据。简单的一句话:包的对应api要在使用之前先挂载。我们在解析body的时候其实是在路由routes

2024-05-04 15:21:01 197 1

原创 2024年新版MongoDB批量删除之传入id数组批量删除,body传参正确,还是报错?错在这里没跑了~

MongoDB根据id数组批量删除;mongoose的deleteMany改版了,不支持传一个回调给第二个参数了,直接.then即可

2024-05-04 13:11:23 325

原创 2024小白装MongoDB(新版),从安装mongoDB,到导入一个本地备份数据,文末含各种老版本安装遇到的踩坑问题总结

有的教程说在data文件夹下创建db和log文件夹,还改dbpath,logpath之类的,如果你装的是最新版,在我这个教程里不需要,完全没有意义,因为它默认就是把数据放一坨在文件夹里,多了反而还嵌套一层,找的时候还不方便。如果你真的想改,请去服务里面把sever停掉(上文里面有讲),然后再用命令改,然后再重启,不然你在服务启动的时候改是不会生效的。还有的修改配置要去power shell去开关sever之类的,也可以,但是我更推荐去“服务”里面直接又不会输错单词。

2024-05-03 00:13:02 762

原创 为什么浏览器对get方法会默认缓存,并把参数拼接到url上,而post,put,delete方法不进行缓存也不拼接?

post,put,delete方法携带请求体request body给后台,通常写在data参数中,浏览器不会把data中的数据拼接到url中。其实如果你不按RESTful风格来做,其实也可以在delete,put携带params参数。根据RESTful api(其实就是一种接口风格,大家公认的在开发中比较方便理解和使用,当然你也可以不遵守hhh,具体的请自行查阅)的约定:开发中使用。通常,get方法携带查询参数给后台,通常写在params参数中,浏览器会把params的参数拼接到url中。

2024-03-29 22:37:31 394

原创 小白踩坑,微信小程序开发者小程序网页端账号已经设置了request合法域名,请求还发不出去,99%是因为这里设置没改

直接关闭代理工具,这样直接在上图的刷新位置,刷新一下就可以了。如果你开发的时候不用代理,后面提交代码的时候再打开也是可以的。因为微信开发者工具默认在安装时系统设置里默认使用系统代理,所以安装某些代理软件的话会走代理,如果通过这个代理访问不了你设置的request合法域名就会报错。遇到这种情况的99%因为电脑本身开着代理,因为众所周知github代码提交是需要代理的,平时开着当然合情合理。具体就是去微信开发者工具:设置 --> 代理设置 --> 不使用任何代理,勾选后直连网络。

2024-03-16 16:57:29 549 1

原创 leetcode学习记录:二分查找法

leetcode学习记录

2023-01-23 21:09:44 21

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除