- 博客(129)
- 收藏
- 关注
原创 git 如何在切换分支时不丢弃本地修改
当我们需要切换分支修改代码时,在切换分支之前有一些尚未提交的本地修改时,Git会默认拒绝切换,并提示我们先提交或者丢弃这些修改。git 中提供了一个命令 git stash,很方便的就可以完成,我们对当前的更改进行暂存,先保存本地修改。的作用是将 git stash 栈中最后一个版本取出来,==git stash apply stash@{0} ==的作用是可以指定栈中的一个版本。但如果使用git stash pop有冲突的时候,如何撤销呢?,即可将当前分支状态恢复。
2024-08-25 10:17:46
47
原创 【vue项目开发遇到的问题】:vue.runtime.esm.js:1887 TypeError: dateStr.match is not a function
但是这里有一点需要注意如果不加value-format,时间会回显1970,此时其实就是数据类型的问题,日期选择器接受的数据都是string类型,而我们拿到的值是number类型,我们需要给它加一个String()方法来处理。因为我是在当前的el-table表格中去使用的,是用row去v-model绑定值得,需要知道每一行。所以我在这里用的watch监听,去进行更改。看网上有博主分享原因是因为页面有rules。不能和value-fomatter共存。需要删掉value-fomatter;
2023-12-29 14:10:16
1211
1
原创 【react项目开发遇到的问题记录】:The above error occurred in the <Route.Provider> component:
Suspense 目前在 react 中一般配合 lazy 使用,当有一些组件需要动态加载(例如各种插件)时可以利用 lazy 方法来完成。
2023-12-28 17:44:12
1664
原创 npm WARN read-shrinkwrap This version of npm is compatible with loockfileVersion@1, but package-lock
但是可能会出现报错,原因是npm版本太高、和当前的node版本是不兼容不匹配的,因为这个命令是直接升级npm最高版本。(本人是不太推荐使用这个命令的)(因为版本太高还是需要使用降级命令进行降级)但可能会遇到运行成功之后,再次执行n -v 会出现’“bash”’ 不是内部或外部命令,也不是可运行的程序或批处理文件。意思是借助n模块去更新node版本,但是会出现报错信息。此时需要检查我们当前的node版本和npm版本号。可以执行当前的命令去升级npm版本。此时可以强制安装一下就ok了。
2023-12-28 11:30:19
4033
原创 vue中使用lodash的debounce防抖函数
假如我们设置了一个等待时间 3 秒的函数,在这 3 秒内如果遇到函数调用请求就重新计时 3 秒,直至新的 3 秒内没有函数调用请求,此时执行函数,不然就以此类推重新计时。在上述示例中,debounce函数延迟了searchDebounced方法的执行,1000毫秒内如果有新的输入,将重新计时,直到没有新的输入后触发将要调用的搜索方法xxxx进行实际的搜索操作。在我们项目中可以通过使用防抖函数,节省资源并提高用户体验,避免在频繁触发的事件中重复执行操作。在需要用到的地方进行引用。
2023-12-27 13:50:12
1971
原创 【vue项目开发遇到的问题】在vue3中引入图片报错 Uncaught (in promise) ReferenceError: require is not defined
因为require是webpack提供的一种加载能力,但是如果项目是用vite搭建的,就需要使用new URL(url, import.meta.url).href的格式引入图片。如下图所示:直接import引用该图片路径。
2023-12-25 16:37:49
5463
2
原创 下载Vue3项目报错: UnhandledPromiseRejectionWarning: SyntaxError: Unexpected token ‘??=‘
发下问题时nodejs版本不兼容的问题,那么解决方案就是升级node版本再运行就解决了!
2023-12-22 15:59:51
1123
原创 git提交代码报错Git: husky > pre-commit
这个问题是因为当你在终端输入git commit -m “XXX”,提交代码的时候,pre-commit(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。进入项目的.git文件夹(文件夹默认隐藏,可先设置显示或者命令ls查找),再进入hooks文件夹,删除pre-commit文件,重新git commit -m ‘xxx’ git push即可。在提交代码commit时,加上参数 --no-verify, 可以忽略pre-commit代码校验的钩子 ,绕过eslint的检查了。
2023-12-11 17:33:51
2224
原创 彻底了解 npm、cnpm、pnpm 、yarn几种包管理工具
pnpm 是包管理工具的一个后起之秀,主要优点在于快速的、节省磁盘空间,如果你的包在一个项目中已经下载了,其它项目再用到这个包就不需要再次下载,而是通过软链接的方式关联。npm 是 Node.js 自带的包管理器,平时通过 npm install 命令来安装各种 npm 包(比如:npm install vue-router ),就是通过这个包管理器来安装的。pnpm 的下载源使用的是 npm ,所以如果要绑定镜像源,按照 npm 的方式处理就可以了。
2023-09-04 14:06:14
368
原创 git克隆github代码报错fatal: unable to access ‘克隆仓库地址/‘: SSL certificate problem:xxxxxx解决方案
这样就可以绕过 SSL 证书检查,成功克隆仓库。请注意,这种做法将不会验证服务器的真实性,因此建议仅在受信任的网络中使用。发生这样的错误是因为 Git 无法验证 GitHub 的 SSL 证书。这可能是由于本地的证书问题或网络问题导致的。--------此方法亲测有效,不知是否适合大家。(马赛克部分是自己所要克隆的代码地址)
2023-08-14 20:36:13
802
原创 Vue中的scoped实现原理?
在vue文件中的style标签上,有一个特殊的属性:scope。当一个style标签拥有scoped属性时,它的css样式就只能作用于当前的组件,通过该属性,可以使得组件之间的样式不互相污染。
2023-07-24 15:15:10
337
原创 js面试题整理
尾递归是指一个函数在调用自身之后不再执行任何其他操作,而是将返回值直接传递给函数调用的上级,从而避免了新的调用栈帧的创建。换句话说,尾递归是指递归调用发生在函数的最后一个语句中,从而使得函数调用不需要保存多个调用栈帧,而只需一个即可。
2023-07-19 09:39:25
261
原创 深拷贝浅拷贝有什么区别?怎么实现深拷贝?
深拷贝就是开辟一个新的栈,两个对象的属性完全相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。从上图发现,浅拷贝和深拷贝都创建出一个新对象,但在复制对象属性的时候,行为就不一样。如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址。浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝。但是这种方式存在弊端,会忽略undefined、symbol和函数。
2023-07-18 16:36:25
136
原创 Vue3 和 React 的区别
Vue 3和 React是市面上目前非常受欢迎的两个前端框架。它们都采用了组件化的开发模式,使得开发者可以将复杂的应用拆分为多个小组件进行开发,从而提高了代码的可维护性和重用性。虽然Vue 3和React都拥有各自的优点,但它们也存在着一些不同之处。
2023-06-19 15:14:34
2700
1
原创 MD5加密是什么以及md5加密解密的原理是什么?以及它的优缺点?MD5有哪些用途?
MD5算法的原理是将输入的消息分成512位的数据块,每个数据块再分成16个32位的小块,然后通过一系列的位运算和非线性函数,对每个小块进行处理,最终得到一个128位的哈希值。由于MD5算法的设计,即使输入的消息只有微小的变化,也会导致输出的哈希值发生巨大的变化,因此可以用来验证数据的完整性和真实性。容易被暴力破解:由于MD5算法的哈希值长度固定,且MD5算法的计算速度很快,因此可以通过暴力破解的方式找到与原数据相同的哈希值,从而破解原数据。压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2023-05-27 09:51:43
4619
原创 vue+react项目相关面试题【未完成】
animation和traslation都是可以做出动画效果的,但是transition主要是做一些简单的过渡效果,而animation可以做复杂的动画效果,在语法上有非常大的区别。animation是动画属性,它的实现是不需要触发事件的,设定好时间之后可以自己执行,且可以循环一个动画(设置多个关键帧)。translation是过渡属性,强调的是过渡,它的实现需要触发一个事件(比如鼠标移动上去,焦点,点击等)才执行动画,过渡只有一组关键帧。
2023-05-27 08:56:39
571
原创 微信小程序的基本使用以及安装教程
安装微信开发者工具链接根据自己的操作系统下载对应的安装包进行安装微信公众平台登录链接注册小程序帐号教程ps:如果是没有注册过的,就点击立即注册按钮,选择要注册的小程序,一步步的进行操作,如果是已经注册过的,就微信扫一扫,选择该微信下的公众平台帐号进行登录。ps:没有注册过的,按照步骤一步步填写信息即可。
2023-05-25 10:28:44
2011
原创 Webpack和Vite的区别?
总的来说,Vite更适合开发阶段,可以提高开发效率,而Webpack则更适合生产环境,可以进行更复杂的打包和优化。
2023-05-23 09:52:16
808
原创 Vue3相关知识点笔记(持续更新中。。。。)
作用: 定义一个响应式的数据语法:创建一个包含响应式数据的引用对象(reference对象,简称ref对象)。JS中操作数据:xxx.value备注:接收的数据可以是:基本类型、也可以是对象类型。基本类型的数据:响应式依然是靠的get与set完成的。对象类型的数据:内部“ 求助 ”了Vue3.0中的一个新函数——reactive函数。
2023-05-18 21:40:08
413
原创 什么是Pinia?以及它的使用方式?以及和Vuex的区别是什么?
Pinia其实就是Vuex5,就是Vuex第五个版本后就叫Pinia了。Pinia是一个用于vue的状态管理库,类似于vuex,是vue的另一种状态管理工具。
2023-05-17 14:48:22
842
原创 前端面试题记录
防抖:在用户多次触发事件,当用户停止触发事件,将事件执行一次。等待一段时间。节流:在用户多次触发事件,会在多次触发的过程中,间隔执行事件。按照一定的频率执行。函数执行后返回结果是一个内部函数,并被外部变量所引用,如果内部函数持有被执行函数作用域的变量,即形成了闭包。可以在内部函数访问到外部函数作用域。使用闭包,一可以读取函数中的变量,二可以将函数中的变量存储在内存中,保护变量不被污染。因为闭包会把函数中的变量存储在内存中,会对内存有消耗,所以不能滥用闭包,否则会影响网页性能,造成内存泄漏。
2023-05-11 20:44:42
439
原创 对infer的了解及应用场景?
Infer是Facebook公司的一个开源的静态分析工具。Infer 可以分析 Objective-C, Java 或者 C代码,用于发现潜在的问题和错误。它可以自动推断代码中的类型和错误,并提供有关如何修复这些问题的建议。其作用类似于sonar和fortify。Infer更倾向于发现代码中的空指针异常、资源泄露以及内存泄漏的问题。
2023-05-07 10:12:12
212
原创 preload和prefetch了解吗?它是什么?使用它的好处是什么?
preload是一种技术,用于在页面加载之前预加载资源,例如图片、CSS、JavaScript等,以提高页面加载速度和性能。通过预加载,浏览器可以在页面加载时立即获取这些资源,而不必等到需要它们时再去下载。这可以减少页面加载时间和延迟,并提高用户体验。preload可以通过HTML标签、JavaScript代码或HTTP头文件来实现。这个指令可以在 中使用,比如。这不要与浏览器预加载混淆,浏览器预加载只预先加载在HTML中声明的资源。
2023-05-07 10:06:30
1291
原创 script 标签中,async 和 defer 两个属性有什么用途和区别?
script标签用于加载脚本与执行脚本,直接使用script脚本时,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染。比如现在大家习惯于在页面中引用各种第三方脚本,但如果第三方服务商出现了一些小问题,比如延迟之类的,就会使得页面白屏。针对上述情况,script标签提供了两种方式来解决问题,就是加入属性以及:此布尔属性被设置为向浏览器指示脚本在文档被解析后执行。:设置此布尔属性,以指示浏览器如果可能的话,应异步执行脚本。
2023-05-07 10:00:11
539
原创 Canvas和SVG有什么区别?
Canvas和SVG都是用于绘制图形的Web技术。SVG: SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言XML描述的2D图形的语言,SVG基于XML就意味着SVG DOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。Canvas: Canvas是画布,通过Javascript来绘制2D图形,是逐像素进行渲染的。
2023-05-07 09:29:35
564
原创 ES5、ES6和ES2015有什么区别?
是ECMScript的第六个版本,也成为ES2015,发布于2015年,引入了许多新的语言特性和语法糖。指的是ECMScript的第五个版本,发布于2009年,是目前最广泛使用的JavaScript版本。是ES6的官方名称,但是由于ES6引入了太多的新特性,因此人们通常使用ES2015来指代ES6。总的来说,ES6引入了许多新的特性和语法糖,使得JavaScript的编程体验更加现代化和高效。新的默认参数和剩余参数语法,使得函数的定义和调用更加灵活。新的模块化系统,使得代码的组织和管理更加容易。
2023-05-07 09:22:49
1661
原创 如何判断object是数组类型(是否是数组)?
在前端面试中,我们经常会被问道,如何判断一个对象是不是数组类型,下面就这一点展开详细的描述,并总结一下共有几种方法。
2023-04-27 14:29:13
1390
原创 css3特性中的transform:translateZ(0)有什么作用?
定义 3D 转换,只是用 Z 轴的值。Transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等。
2023-04-27 14:17:46
1152
原创 微信小程序面试题【1-4】
WXML提供两种文件引用方式import和include。WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件事件系统,可以构建出页面的结构。数据绑定:--wxml-->// page.jsPage({data: {})列表渲染 :--wxml-->// page.jsPage({data: {})条件渲染:--wxml-->// page.jsPage({data: {})模板:--wxml-->
2023-04-27 09:03:32
167
原创 Vue的路由实现:hash模式 和 history模式原理及区别
### 2.1.1Hash模式:在url中有符号“#”存在。URL中的#符号后面的部分,也称为锚点。,用window.location.hash读取;**特点:**- hash不会重加载页面- hash 模式下,仅 hash 符号之前的内容会被包含在请求中。如 http://www.xxx.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回 404 错误- 兼容性好,可以支持所有浏览器**缺点:**- 页面不美观### 2.1.2History模式:history
2023-04-24 15:02:17
950
原创 vue生命周期的理解?
Vue 实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译版、挂载Dom ->染、更新 ->渲染、卸载 等一系列过程,称这是Vue的生命周期。beforeCreate (创建前): 数据观测和初始化事件还未开始,此时 data 的响应式追踪、event/watcher都还没有被设置,也就是说不能访问到data、 computed、watch、methods上的方法和数据。
2023-04-24 14:41:51
411
原创 什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?
MVVM是 Model-View-ViewModel的缩写,即模型-视图-视图模型。MVVM 是一种设计思想。模型(Model):代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。数据保存—存放着各种数据,有的是固定写死的,大多数是从后端返回的数据视图 (View):代表UI 组件,它负责将数据模型转化成UI 展现出来,用户界面,也就是DOM。
2023-04-24 14:22:07
1758
原创 在微信小程序中怎么使用vant框架?
Vant 是一个轻量、可定制的移动端组件库,于 2017 年开源。目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。Vant 是有赞前端团队开源的移动端组件库,于 2017 年开源,已持续维护 4 年时间。Vant 对内承载了有赞所有核心业务,对外服务十多万开发者,是业界主流的移动端组件库之一。Vant框架是一个用来做移动端开发的框架。详情请点击vant官网。
2023-04-22 16:52:18
3359
原创 JavaScript学习知识点整理
js提供let / const / var 三个关键字来定义变量区别:使用var定义的变量作用域会提升到当前代码块的最顶端;let、const作用域为块级作用域;var可以定义多个同名变量,let、const仅限于出现一次。var username ='张三'var username = '李四';let username = '王五' //报错暂时性死区(TDZ):原因是因为let定义的变量作用域不会提升。const一般用来定义常量,尽量初始化时赋值,一般情况下不可以更改。
2023-04-20 14:58:54
568
原创 前端面试题整理【1】(未完成,持续更新....)
将窗体自上而下分成一行一行,并在每行中按左至右依次排放元素,称为文档流,也成为普通流。就是HTML中全部元素都是盒模型,盒模型占用一定的空间,依次排放在HTML中,形成了文档流。元素脱离文档流之后,将不再文档流中占据空间,而是处于浮动状态(可以理解为是漂浮在文档流的上方)。脱离文档流的元素的定位基于正常的文档流。当一个元素脱离文档流后,依然在文档流中的其他元素将忽略该元素并填补其原先的空间。
2023-04-17 15:04:43
727
原创 说说你对Event Loop(事件循环)的理解?
从上面我们可以看到,同步任务进入主线程,即主执行栈,异步任务进入任务队列,主线程内的任务执行完毕为空,会去任务队列读取对应的任务,推入主线程执行。上面的例子中,await 会阻塞下面的代码(即加入微任务队列),先执行 async 外面的同步代码,同步代码执行完,再回到 async 函数中,再执行之前阻塞的代码。正常情况下,await命令后面是一个Promise对象,返回该对象的结果,如果不是Promise对象,就直接返回对应的值。一个需要异步执行的函数,执行时机是在主函数执行结束之后、当前宏任务结束之前。
2023-04-13 09:13:44
175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人