
前端
文章平均质量分 71
前端相关遇到的问题,有小程序,uniapp,vue,js,Ts等等
乆夨(jiuze)
我来人间一趟,只来人间一趟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
箭头函数20k以上的回答和20k以下的回答
的出现,在推出promise之前,其实就有社区统一出来的promise A+规范,为了就是解决回调地狱问题,然而明明有promise A+规范,为什么es6还推出了promise,那也是因为随着需要,es在promise A+规范下,完善了一些错误处理机制,增加了一些静态方法,如。众所周知,js最开始其实就是一个脚本语言,弱类型语言,在很早之前其实都没有对象的概念,但是随着发展,js也渐渐成了一个使用度,知名度较高的语言了,这就导致原有的部分功能并不满足高速的发展了,所以官方也在不断的想办法完善。原创 2025-07-17 18:02:24 · 235 阅读 · 0 评论 -
记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
为什么会怀疑App的问题呢,因为我反复测试,发现最开始click点击事件都是好的,只有当点击调用App里面flutter方法后,唤起弹框后,我整个页面的click事件都失效了,怀疑是不是调用完他们的方法后,是不是有一层看不到的蒙版挡住了,但是App反馈说没有,并且说如果有蒙版那么不应该能滑动,事实是可以滑动,只是点击失效了。开始我保持怀疑的态度,因为我用了公司的安卓测试机,苹果测试机都没有问题,后来我用我自己的手机,突然发现,上诉问题复现了。最近开发遇到一个很奇怪的问题,很特殊,为此记录一下。原创 2025-06-30 16:45:10 · 678 阅读 · 2 评论 -
一道并发的面试题,控制并发数量
如下所示其实可以联想到,这里有两条任务线在并发执行,任务1 由于10s后才输出,任务2 是5s后输出,所以任务3 会排在任务2后面执行,这就是为啥任务3 明明传入3s,但结果是8s后才输出了,依次类推,任务4接上,到任务5时,任务1执行完毕,此时任务2那条线,任务4在执行占用,所以任务5接在任务1后执行。原创 2025-05-20 14:26:33 · 156 阅读 · 0 评论 -
一道解构的面试题,var [a, b] = { a: 3, b: 4 }
你只要有一个对象啊,不管是啥东西,你是数组也好,函数也好,你只要是对象无所谓的,只看你这个对象里边有没有一个知名符号,[Symbol.iterator]:fn, 并且这个符号是一个函数,如果说满足这样的一个要求,那么你就是一个可迭代对象。一调这个函数就表示开始迭代了,他会得到数组的下一项是啥,value表示是3,那么这个done表示,迭代是否完成,这个false,表示没完成。这是有要求的,这个函数呢,它得返回一个东西,返回什么呢,它的返回一个迭代器。确实很有意思,为此记录分享下,仅供参考学习。原创 2025-04-22 16:51:01 · 343 阅读 · 0 评论 -
小技巧1,在vue3中利用自定义ref实现防抖(customRef)
在 Vue 3 中,customRef 是一个用于创建自定义响应式引用的 API。它允许开发者更细粒度地控制响应式引用的行为,特别是在需要进行特殊的响应式处理时。customRef 接受一个工厂函数,返回一个包含 get 和 set 方法的响应式引用。最后这里只是多介绍一种方案实现,至于这个技巧方案好不好用,因人而异吧,有些人喜欢,有些人不喜欢,但不管怎样,多一种实现方案总归是好的。就这样写了一堆,要是个别地方使用其实还好,但是很多地方都要使用,就感觉有点臃肿了。或者说,在vue中如何去使用防抖最舒服呢?原创 2025-04-22 14:32:58 · 459 阅读 · 0 评论 -
vue2中,H5实现,腾讯地图标记点位,选择点位高亮,缩放渲染等功能记录
这个项目很久很久的,由于低层是vue2 + js的,所以没办法我给大家的也是vue2 + js的,最开始拿到这个需求其实感觉挺棘手的,为什么呢,这种地图相关的做的少,由于是这种选择,缩放显示,根据定位啥的渲染,但实际做下来很简单,唯一让我很烦躁的就是,官方文档想找到些有用的不好找!其实这里上面就提到过,无非就是this.label.on(‘click’, this.clickLabel) // 这里是增加点击事件,增加完后,其实更新对应样式ID就好了。最后希望对大家有所帮助啦。原创 2025-04-22 10:55:56 · 824 阅读 · 0 评论 -
关于tsconfig.json文件,提示选项“importsNotUsedAsValues/verbatimModuleSyntax”已删除。请从配置中删除它问题解决!!!
在vue3 + ts 中可能之前搭建的代码,要是中间都没改过配置会这升级包,可能tsconfig.json可能都会飙红了,以下是我一个通过用命令式搭建的uniapp小程序,环境是vue3 + ts的,大概一年前搭建的吧,今天偶然发现这个飙红,其实可能很早就有了, 但是今天才有空解决。。。原创 2025-04-21 10:43:59 · 773 阅读 · 0 评论 -
记录一次后台项目的打包优化
优化,所有开发者到一定的程度上,都绕不开的问题之一首页加载优化白屏优化列表无限加载滚动优化,图片加载优化逻辑耦合,复杂度优化,如何降低复杂度打包优化以上这些,只是简单举例,类似的优化其实还有很多,诸如此类的优化,如果细细拆分开来,其实感觉不会带来多大效果,但是组合起来,还是能让人大吃一惊以下是我分享一次打包优化的过程。原创 2025-04-16 16:00:07 · 1156 阅读 · 0 评论 -
Vue2和Vue3官网地址
Vue2和Vue3官网地址原创 2025-03-18 14:15:27 · 1434 阅读 · 0 评论 -
简述下npm,cnpm,yarn和pnpm的区别,以及跟在后面的-g,--save, --save-dev代表着什么
最近总有些同事问我为什么喜欢使用pnpm,除此之外慢慢开始带实习生,为了让一些基础的能够认清这些差别,所以简述下我的认知(仅供参考)yarn、npm、cnpm 和 pnpm 是四种流行的 JavaScript 和 Node.js 包管理工具。虽然它们都用于管理项目依赖,但在设计理念、功能和使用方式上存在一些显著的区别。基本介绍:npm 是 Node.js 默认的包管理工具,随着 Node.js 的安装自动提供(其实你安装node,就会自带npm下来了)。原创 2025-03-14 16:58:57 · 1853 阅读 · 0 评论 -
vue3+ts+vite环境中使用json-editor-vue3,记录遇到的奇奇怪怪问题!!!
vue3+ts+vite环境中使用json-editor-vue3仅仅简单记录下最近使用这个插件的一些注意事项,这个插件很容易使用的。json-editor-vue3文档以上是我在实际使用json-editor-vue3的过程,最后说下为什么比较强大呢,因为它是由一个错误回掉的,这样我们是可以知道这个输入json内容和不合规的,并且怎么提示。原创 2025-03-13 19:35:36 · 2836 阅读 · 3 评论 -
浅谈观察器IntersectionObserver API(API简介和简单示例)
【代码】浅谈观察器IntersectionObserver API(API简介和简单示例)原创 2025-03-04 11:32:21 · 834 阅读 · 0 评论 -
vue自定义指令——input输入数字类型限制(例如控制,小数点后位数,最小值,最大值),解决中文输入法双向绑定失效问题
通过compositionstart和compositionend事件设置锁定标识,解决中文输入法的问题实现一个自定义指令(v-inputNum),输入内容限制只能输入数字类型,自由限制最小值和最大值,可以控制最多保留小数点后几位。原创 2025-01-07 10:26:16 · 771 阅读 · 0 评论 -
js中明明看起来相同的字符,为什么比较是否相等的时候为 false !!!
js中明明看起来相同的字符,为什么比较是否相等的时候为 false !!!原创 2024-11-19 22:46:32 · 421 阅读 · 0 评论 -
git 常用命令大全
git命令Git GUISourceTreeGitKraken等等,或者借用vscode/webstorm等开发工具里面自带的图形界面来图形化界面的形式实现git功能。我个人还是喜欢使用最基础的命令操作哈,有人感觉装逼,有人感觉命令更加方便,我单纯比较懒,一直用命令,用习惯了,以下仅仅是个人常用的命令总和,担心那天忘了,自己看看,哈哈。原创 2024-11-14 17:31:23 · 1340 阅读 · 0 评论 -
vue2.7.14 + vant + vue cli脚手架转vite启动运行问题记录
vue cli 脚手架转成vite启动简单说说这个项目的一些底层基本结构哈,以及写这篇博客的目的。这个项目底层结构是vue2.7.14 + vant ,使用vue cli脚手架搭建的一个H5项目,由于内容比较多,并没有使用vue3重构,但是由于内容过多,渐渐的启动特别耗时,所以计划该用vite去优化启动项。写这篇博客,是记录本人在这个转换过程中遇到的一些问题。在实际的过程中我用了两种方案,第一种利用插件webpack-to-vite。第二种是自己搭建vite。原创 2024-11-13 15:49:45 · 1461 阅读 · 0 评论 -
TypeError: Cannot read properties of undefined (reading ‘__asyncLoader‘)
项目场景:vue3+element-plus+ts+vite的技术栈开发的后台,一个后台列表页面,使用了ElTable组件。原创 2024-11-02 15:41:43 · 1071 阅读 · 0 评论 -
Vite 中 import.meta.glob 遇到的问题
使用vite做打包工具的,相信对这个glob的方法或多或少都有所了解,在vite2版本后开始增加这个导入功能,这也是vite独有的功能,通俗的讲这是用来动态导入用的Vite 支持使用特殊的 import.meta.glob 函数从文件系统导入多个模块匹配到的文件默认是懒加载的,通过动态导入实现,并会在构建时分离为独立的 chunk。这里的eager: true参数的作用是,直接引入所有的模块(官方文档更倾向于这样)原创 2024-10-24 14:44:52 · 3707 阅读 · 0 评论 -
腾讯云自动构建微信小程序,生成预览码,上传微信管理平台
提示:本文的环境是腾讯云(CODING) + uniapp + 钉钉自动化构建微信小程序,其实每个平台的方法是不一样的哈,我这里也只是记录下个人完成的情形,如果有人跟我的基础条件一样,那很幸运啦,我把坑都踩完了。当然不一样,也没关系,可以借鉴或者保存下,毕竟万一以后工作上用到了呢?是吧最终实现目标,腾讯云中点击构建,自动打包,编译,上传预览,生成二维码后,由机器人发到钉钉群里面。原创 2024-09-23 17:27:39 · 1199 阅读 · 0 评论 -
记录node环境下执行ts文件一些问题,以及Node.js 版本 v22.6.0下可以直接执行ts文件
注意细节,为什么我说目前哈,因为Node.js 近日刚合并了一个 PR#53725[1],主要内容是通过设置 flag --experimental-strip-types,使得可以在 Node.js 中直接执行 TypeScript 文件。换一个吧,我用CommonJs规范,引入吧,上一个问题用ES的规范,我感觉进入死胡同了。写着写着呢,突然想着用ts去实现它,一方面是项目是用uniapp + vue3 + vite + ts搭建的,想着保持统一,使用ts文件,另一方面呢也有点强迫症。原创 2024-09-13 13:39:31 · 3551 阅读 · 0 评论 -
css定位
css定位一,定位的属性及属性值。在css中定位属性为position。解释:这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。可以使用top,bottom,left和right属性来定位元素,但是,除非position属性有进行初始化设置参数值这些属性才能起效果。根据定...原创 2020-02-22 20:00:48 · 166 阅读 · 0 评论 -
3D立方体旋转相册
抖音最火3D立方体旋转相册前言这是一个漫长的寒假,历史上从未有过如此的时刻,人们这样空前团结,这样的宅,着实如抖音所说“晚上七点,像凌晨三点”。不过我相信黎明的曙光终将到来,逆战的脚步终将不会停止。好了,扯得有点远了,直接上干货吧。我是才开始学习web前端技术不久,在大学之前根本不懂得什么的前端,写这篇博客的初衷就是一是回顾,二是为了避免后来人踩雷。 所以我不会像大多权威官方博客一样的c...原创 2020-02-29 13:35:30 · 1120 阅读 · 1 评论 -
BFC了解
BFC概念什么是bfc?可能很多新手没听过,但一定遇到过,只是自己不知道而已,相信大家都遇到过,在最常见的浮动加盒模型布局中,我们会遇到一些问题,例如高度塌陷,高度自适应,又或者是浮动所带来的一些问题,这里面其实或多或少的都和bfc有点关系,所谓的bfc就是块级格式化上下文(独立的渲染区),通俗得讲就是块级元素布局逻辑。我个人理解为一个特别的块级元素。BFC布局规则有以下几点:一、BFC内...原创 2020-03-08 12:55:11 · 196 阅读 · 1 评论 -
小白自制js进度条小demo
加粗样式时光匆匆啊,目前还是只能待在家最好啊,小白最近在学js了,所以想做点小东西,勿喷哈,比起大神,我可是小白的小白,仅供娱乐哈视频地址http://www.56.com/u33/v_MTYzNTEzODc4.html。欢迎欣赏。废话不多说先把结构,样式搭上吧。相信这种简单的结构样式代码,各位肯定能明白,我就不多解释了,今天的重头戏,js。首先说下我做这个小demo的思路。我先搭...原创 2020-03-22 20:59:09 · 277 阅读 · 1 评论 -
小白世界里的数组去重
数组去重数组去重这种问题很常见,常见的方法有很多种,作为初学者的我,也整理了以下四种,个人认为这四种容易理解,也实用set方法该方法是Es6新增语法,同时该方法的特点是元素不能重复可以利用这一特点达到数组去重例:letlet arr = [1, 2, 3, 3, 2, 4, 5, 1, 6, 5, 3, 7, 8, 8, 8];let s = new Set(arr);console.log(‘set:’, s);双重for循环加splice截取利用循环比较,加上splice截取原创 2020-05-24 14:38:17 · 202 阅读 · 0 评论 -
初学者虚拟DOM与snabbdom库了解
1. 什么是虚拟DOM?虚拟DOM就是使用js对象模型来模拟真实DOM节点2. 什么是diff算法?思维: diff算法起初来源于后端,用于比较两个文件的差异,3.为什么要用虚拟DOM?因为在真实项目中,操作dom节点是很正常的,因为要渲染页面,然而,其实操作dom节点次数越多,加载的会越慢,损耗的资源越大,这让一个用户的体验会讲底,我们来看下面这段代码,让你体会操作虚拟dom会比真实dom的效率高多少。以下是结果:可以看到差距,同样是循环一百万,如果直接操控真实dom要花三十多秒原创 2020-06-02 11:49:25 · 518 阅读 · 1 评论 -
前端精度丢失
很多业务场景呢,其实或多或少涉及到金额的计算,不管前端还是后端,只要涉及到金额的处理其实精度丢失问题是不可避免的例如:医疗类,餐饮类,零售类,其实只要有支付,有账单就都可能存在精度丢失的问题。原创 2022-06-08 17:25:19 · 3188 阅读 · 0 评论 -
前端数据类型效验区分
第一种:typeof(返回相应的数据类型)这种方法不难看出,当数据类型为引用类型时,检测出返回的是object类型,其中对于null检测出也是object,熟悉原型链的就知道,最终指向的其实就是null,所以这种方法个人认为适合检测基本数据类型第二种:instanceof(返回布尔值,判断是还是不是)这个相对于上面一种是比较好一点的,但是还是存在偏差,不够准确,比如 Array 和 Object 都出现在 [] 的原型链上,可能会将 [] 误认为 Object 类型。原创 2022-08-24 11:04:32 · 426 阅读 · 0 评论 -
个人开发习惯
format文件夹:整个文件夹是我用来处理数据逻辑的,就比如在页面中查询数据后要渲染时,很可能服务端给的数据需要处理下才能使用,又或者需要组装下,但是如果放在vue文件中,script中很可能会感觉太拥挤,此时我就会写成一个方法,放在format中去处理再返回我需要的新的数据出来,这样逻辑和视图区分的更彻底,同样也不会让整个页面因为逻辑处理过多,导致一个也面可能出现上千行代码。components文件夹:存放整个项目中共用的组件,比如自己封装的弹框,按钮,输入款,又或者是某些项目中的功能性组件等等。原创 2022-08-24 13:35:24 · 499 阅读 · 0 评论 -
使用cos-js-sdk-v5腾讯云实现cos文件上传
使用cos-js-sdk-v5腾讯云实现cos文件上传原创 2022-10-15 13:02:26 · 3907 阅读 · 0 评论 -
Unable to preventDefault inside passive event listener invocation报错
Unable to preventDefault inside passive event listener invocation报错解决方案原创 2023-11-09 10:08:05 · 9326 阅读 · 8 评论 -
IOS&Safari不兼容零宽断言正则的坑
IOS&Safari不兼容零宽断言正则的坑原创 2023-11-09 16:02:56 · 1257 阅读 · 0 评论 -
第三方平台接入钉钉扫码登录功能
接入钉钉第三方扫码登录原创 2024-03-05 15:26:29 · 3491 阅读 · 3 评论 -
ES2023有关数组的新方法简介
ES2023数组新方法原创 2024-03-22 18:40:25 · 943 阅读 · 0 评论 -
vue3+vite+ts+pinia移动端多页面
vue3+vite+ts+pinia移动端多页面原创 2024-04-03 10:22:57 · 1603 阅读 · 1 评论 -
unplugin-auto-import自动导入Eslint和Ts警告问题 找不到名称“ref”。ts(2304)
希望各位能顺利解决,以上是我整理出来的结果方案。原创 2024-04-08 19:38:21 · 6234 阅读 · 7 评论 -
vue3多页面中如何共用pinia的数据
这篇文章本质是想请教一个问题的,最近在搭建一个多页面的vue3项目,多页面吗,这意味着我有多个main.ts入口文件,最后打包也会生成多个xxx.html文件,我想当项目很庞大的时候,又或者为了后期扩展,多页面有时候也是一个不错的选择,但这在实际场景中会出现这么一种情况。原创 2024-04-16 17:58:58 · 1758 阅读 · 3 评论 -
跨标签通信的常见方案
个人感觉使用其实很简单,花个几分钟就能实现,当然以上其实还需要个关闭通道,channel.close(),要是想优化封装下,那再花点时间即可,这里我就不去封装了,我认为呢,这个东西难就难在你知不知道有这个东西,也就是知识面的广度,我写的也很随意,个人感觉这种可能确实不是很常用,但是可以去了解下,增加知识的广度。当然咯,我也知道有些小伙伴想了解下其他方案,或者有小伙伴想要一个能封装好的代码。这里我找到了两篇比较好的大佬博客,大家可以翻阅查看BroadcastChannel简单封装封装链接其他方案详细讲解。原创 2024-04-17 16:19:28 · 412 阅读 · 0 评论 -
拦截接口重复请求
可能我这个封装的也会有点问题哈,仅供参考,由于我比较懒,我不想每次都去实际方法中做拦截,或者加loading,或者加防抖,因为我可能会忘,所以我想着直接在最终的请求中自动去拦截。当然也可以用lodash中的防抖,之前我用过的,挺好用的()=>{console.log('删除操作等业务逻辑')},500,leading:true,//在延迟开始前立即调用事件trailing:false,//在延时结束后不调用,保证事件只被触发一次},)```原创 2024-04-22 14:43:35 · 273 阅读 · 0 评论 -
uni小程序使用vant上传组件,封装腾讯COS上传hooks
uni小程序使用vant上传组件,封装腾讯COS上传hooks原创 2024-04-28 15:44:47 · 601 阅读 · 0 评论