自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue3 新项目,没必要再用 Pinia 了!

最近弄了一个新的 Vue3 项目,页面不多,其中有三四个页面需要共享状态,我几乎条件反射般地安装了 Pinia来做状态管理。后来一想,我只需要一个仓库,存放几个状态而已,有必要单独接一套 Pinia 吗?其实不需要,我差点忘记了 Vue3 的一个重要特性,那就是 组合式函数。组合式 API 大家都知道,组合式函数可能大家没有特别留意。但是它功能强大,足矣实现全局状态管理。

2024-04-23 19:17:13 148

原创 京东一面:post为什么会发送两次请求?

预检请求是在进行跨域资源共享CORS时,由浏览器自动发起的一种 OPTIONS 请求。它的存在是为了保障安全,并允许服务器决定是否允许跨域请求。跨域请求是指在浏览器中向不同域名、不同端口或不同协议的资源发送请求。出于安全原因,浏览器默认禁止跨域请求,只允许同源策略。而当网页需要进行跨域请求时,浏览器会自动发送一个预检请求,以确定是否服务器允许实际的跨域请求。

2024-04-01 19:32:37 1002

原创 同学,请实现一个扫码登录

在跟后台联调的过程中发现定时器每1s请求一次接口,发现很多接口没等响应就开启下一次的请求,很多请求都还在pending中,这样是不对的,对性能是很大消耗。3、解决了上面提到的问题,就在以为万事大吉,只待提测的时候。所谓的轮询就是,由后端维护某个状态,或是一种连续多篇的数据(如分页、分段),由前端决定按序访问的方式将所有片段依次查询,直到后端给出终止状态的响应(结束状态、分页的最后一页等)。试了下确实达到效果了,但其实这个问题产生的具体原因我还是有些模糊的,希望遇到过相关问题的大佬能指点一下,感激不尽!

2024-03-12 16:11:29 784

原创 面试官:js需要同时发起百条接口请求怎么办?--通过Promise实现分批处理接口请求

不知你项目中有没有遇到过这样的情况,反正我的实际工作项目中真的遇到了这种玩意,一个接口获取一份列表,列表中的每一项都有一个属性需要通过另一个请求来逐一赋值,然后就有了这份封装真的是很多功能都是被逼出来的。

2024-03-12 15:49:12 499

原创 通过Vue自定义指令实现前端埋点

这种方法在项目中埋点比较少时还行,一旦项目中需要大量埋点时,不可避免的要添加很多业务代码。为了保证点击率的准确性,我们必须保证用户真正的浏览到了这些产品(就比如上图中最下方的机酒产品区域,由于需要滚动页面,用户才有可能看到这一区域)。手动埋点,顾名思义就是纯手动写代码,调用埋点 SDK 提供的函数,在需要埋点的业务逻辑中添加对应方法,上报埋点数据。有了点击和曝光类,下一步就是 Vue 指令的封装了,也是之所以能实现半自动埋点的核心。页面埋点在框架层面已经帮我们做掉了,这里主要关心的是点击埋点和曝光埋点。

2023-12-28 17:01:44 986

原创 async/await的实现原理(手动实现)

如果当前执行的是A协程,要启动B协程就需要暂停A协程,把js主线程的控制权交给B协程,这样表现为A协程暂停,B协程开始执行,此时我们把A协程称为B协程的父协程。对于js的异步编程场景,无论是使用xhr回调还是promise回调,当异步操作过多并且每个动作之间存在依赖关系(即需要串行执行)时,代码的可读性和维护性会变得很差。在执行过程中,如果遇到yield关键字,函数会返回关键字后面的内容给外部,然后暂停执行。带*号的函数就叫生成器函数,是可以暂定执行和恢复执行的。v8是如何实现函数的执行和恢复的呢?

2023-12-01 15:18:09 282

原创 JS代码其实可以这样写

好了,就说这几点,日常工作中,希望大家都写出高质量的代码。

2023-11-30 19:25:20 127

原创 JS如何判断文字是否溢出(被ellipsis)?

JS如何判断文字被ellipsis了?

2023-10-10 18:04:19 988

原创 Vue2屎山代码大盘点

Vue2屎山代码大盘点

2023-06-21 16:51:33 344

原创 构建工具 Vite、Webpack、Rollup对比

构建工具 Vite、Webpack、Rollup对比

2023-06-14 14:43:32 1324

原创 vue开发,如何结合chatgpt

当然,ChatGPT生成的代码还不能完全替代人工编码,需要开发者review和修复,但它无疑已经成为开发者的好帮手。未来,随着技术的进步,ChatGPT将产生越来越“智能”的代码,真正实现“代码即自然语言”的愿景,彻底改变前端开发方式。通过上面的交互,我们仅使用自然语言就完成了一个评论功能的开发,ChatGPT自动生成了Vue代码,包括模板、方法、AJAX请求等。随着人工智能技术的发展,尤其是自然语言处理的进步,代码生成不再是梦想。只有不断进步,才能适应未来技术变革带来的挑战,在人工智能时代继续发光发热。

2023-05-21 21:35:40 2492

原创 前端开发如何结合chatgpt

前端开发如何结合chatgpt

2023-05-21 21:31:08 1362

原创 如何在 vue3 中使用 jsx/tsx?

如何在 vue3 中使用 jsx/tsx?

2023-05-15 12:45:17 496

原创 从0搭建Vue3组件库(十二):引入现代前端测试框架 Vitest

Vitest 是个高性能的前端单元测试框架,它的用法其实和 Jest 差不多,但是它的性能要优于 Jest 不少,还提供了很好的 ESM 支持,同时对于使用 vite 作为构建工具的项目来说有一个好处就是可以公用同一个配置文件。因此本项目将会使用 Vitest 作为测试框架。

2023-05-10 11:35:21 1076

原创 从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)

从0搭建Vue3组件库(十一): 集成项目的编程规范工具链(ESlint+Prettier+Stylelint)

2023-04-30 07:30:00 1694

原创 从0搭建Vue3组件库(十):如何搭建一个 Cli 脚手架

从0搭建Vue3组件库(十):如何搭建一个 Cli 脚手架

2023-04-29 08:00:00 1053

原创 从0搭建Vue3组件库(九):VitePress 搭建部署组件库文档

从0搭建Vue3组件库(九):VitePress 搭建部署组件库文档

2023-04-26 09:45:00 958

原创 从0搭建Vue3组件库(八):使用 release-it 实现自动管理发布组件库

从0搭建Vue3组件库(八):使用 release-it 实现自动管理发布组件库

2023-04-25 16:00:00 854 2

原创 从0搭建Vue3组件库(七):使用 gulp 打包组件库并实现按需加载

当我们使用 Vite 库模式打包的时候,vite 会将样式文件全部打包到同一个文件中,这样的话我们每次都要全量引入所有样式文件做不到按需引入的效果。删除打包目录函数可以放在 bulid/utils 中的 delpath.ts,注意这里因为打包后的 easyest 包是我们最终要发布的包,所以我们需要将package.json和README.md保留下来。然后写一个打包样式的函数,这里使用到了 gulp 的dest和src函数,不知道什么意思的乐意看上一篇文章 gulp 的介绍。然后引入 run 函数。

2023-04-24 21:17:25 988 3

原创 从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用

从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用

2023-04-24 21:15:53 795

原创 从0搭建Vue3组件库(五): 如何使用Vite打包组件库

从0搭建Vue3组件库(五): 如何使用Vite打包组件库

2023-04-20 19:41:27 1151

原创 从0搭建Vue3组件库(四): 如何开发一个组件

从0搭建Vue3组件库(四): 如何开发一个组件

2023-04-20 19:36:46 1146 2

原创 从0搭建Vue3组件库(三): 组件库的环境配置

从0搭建Vue3组件库(三): 组件库的环境配置

2023-04-18 21:37:35 619

原创 从0搭建Vue3组件库(二):Monorepo项目搭建

从0搭建Vue3组件库(二):Monorepo项目搭建

2023-04-18 21:20:01 874

原创 从0搭建Vue3组件库(一): 开篇

从0搭建Vue3组件库(一): 开篇

2023-04-18 10:08:39 440

原创 vue-router中history模式与hash模式的使用及比对

hash和history如果使用hash模式,一般无需特殊配置;但如果要使用history模式,则前端和服务端要做一定的设置;使用history模式通常本地调试没有什么问题,但是一旦发布到测试或生产环境,则会出现页面白屏或者刷新页面白屏的现象,这种问题的出现是因为前端和服务端没有做相应的配置。

2023-04-05 15:25:25 1187

原创 原生JS【移动端全屏滑动】功能实现

原生JS【移动端全屏滑动】功能实现

2023-03-29 11:32:59 474

原创 Vue 中的 .sync 修饰符的作用

Vue 中的 .sync 修饰符的作用

2023-03-23 14:05:12 630

原创 Vue的渲染函数render&h

vue中我们一般会用模板来创建HTML,但是在有些情况也会需要用到渲染函数。渲染函数是用来生成Virtual DOM的。Vue推荐使用模板来构建我们的应用界面,在底层实现中Vue会将模板编译成渲染函数。

2023-03-16 10:02:51 1106

原创 vue中使用monaco-editor

vue中使用monaco-editor

2023-03-13 19:48:36 1690

原创 JavaScript的事件传播机制

JavaScript的事件传播机制

2023-03-12 19:36:21 1514

原创 vue中render函数的作用及解析

vue中render函数的作用及解析

2023-03-11 10:42:42 563

原创 vuedraggable的使用

vuedraggable的使用

2023-03-09 16:30:54 1634

原创 vue移动端h5,文本溢出显示省略号,且展示‘更多’按钮

vue移动端h5,文本溢出显示省略号,且展示‘更多’按钮

2023-03-06 18:37:11 2850

原创 vue3 toRefs详解

vue3 toRefs详解

2023-03-05 10:59:40 876

原创 系统配置vue.config.js(通用)和vue3中的vite.config.js的通用配置

系统配置vue.config.js(通用)和vue3中的vite.config.js的通用配置

2023-03-04 09:39:37 652

原创 当面试官问我前端可以做的性能优化有哪些

前端性能优化

2023-03-03 17:45:55 700

原创 Vue中的AST和VNode有什么区别啊?看着都长的一个样?

Vue中的AST和VNode的区别

2023-03-03 11:25:53 563

原创 Vue3 + setup + ts 使用总结

Vue3 + setup + ts 使用总结

2023-03-02 10:45:46 660

原创 js中?.、??的具体用法

js中?.、??的具体用法

2023-03-01 15:12:34 462

空空如也

空空如也

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

TA关注的人

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