自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿莹yes的博客

积极且努力的阿莹

  • 博客(111)
  • 收藏
  • 关注

原创 react原理及合成事件原理

React合成事件是React框架中非常重要的一部分,它通过事件委托、事件池和统一化事件处理等机制,提供了高效、跨浏览器的事件系统。使用React合成事件可以有效地提高性能,简化开发流程,并保证事件处理函数在不同浏览器下的致性。因此,掌握React合成事件的原理和使用方法对于React开发者来说是非常重要的。简单说就是:react是在原生浏览器的枝上做了一层封装,把对应事件做了一次合成,最大的好处是合成事件可以匹配不同浏览器之间的差异,比如事件委托、事件池、事件合并这些。

2023-11-20 13:41:43 681

原创 px、em、rem、百分比的区别

css中的长度单位一共有8个,分别是px,em,pt,ex,pc,in,mm,cm;px,em和rem用的较多,em和rem是用来适配不同屏幕的,最终也会换算成px来进行布局因此对于精确度没有限制1)网页布局中一般都是用px。2)百分比一般宽泛的讲是相对于父元素,自适应网页布局用的多。3)viewport:可视窗口,也就是浏览器。calc()使用通用的数学运算规则,但是也提供更智能的功能:使用“+”、“-”、“” 和 “/”四则运算;可以使用百分比、px、em、rem等单位;

2023-11-20 13:30:30 473

原创 sourcetree中添加秘钥 - 工具篇

参考文章:https://blog.csdn.net/qq_40968685/article/details/131328007。然后,从gitlab中复制ssh地址到sourcetree中,会看到如图提示,则表示配置成功!

2023-07-03 16:20:41 1121

原创 解决sourcetree中推送不显示分支 - 软件篇

原文链接:https://blog.csdn.net/qq_60976312/article/details/126647355。众所周知:在我们没有新创建分支的情况下,他会默认有一个master分支,这也是我们的主分支。再重新打开git,点击推送的时候分支就出现了。推送的弹窗里不回显示我们的分支;如上图所示,在我们使用。

2023-06-28 20:31:46 773

原创 函数柯里化 - js篇

Javascript高级程序设计(第3版):用于创建已经设置好了一个或多个参数的函数。基本方法是使用一个闭包返回一个函数。维基百科:柯里化(英语:Currying),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。用大白话来说就是只传递给函数一部分参数来调用它,让它返回一个新函数去处理剩下的参数。输入是一个函数,并且这个函数拥有n个参数输出也是一个函数,并且可以使用fn()()()这种方式调用。

2023-06-27 10:44:15 302

原创 创建ssh密钥并向gitlab添加完整流程 - 前端

3、或者你也可以直接打开你用户(一般都是 Administrator)下的 .ssh 文件夹,打开它里面的 id_rsa.pub 文件。d. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub。2、或者你也可以直接输入命令 :cat ~/.ssh/id_rsa.pub。查看是否生成了id_rsa和id_rsa.pub。b. 进入 .ssh 目录:cd ~/.ssh。c. 找到 id_rsa.pub 文件:ls。a. 打开你的 git bash 窗口。

2023-06-21 15:05:01 4333

原创 前端入职第一天安装程序及配置环境

前端入职第一天配置环境

2023-06-16 13:54:48 1054

原创 [‘1‘, ‘2‘, ‘3‘].map(parseInt) - js篇

规定使用10,但是并不是所有的浏览器都遵循这个规定。一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。回调函数需要三个参数, 我们通常只使用第一个参数 (其他两个参数是可选的)。函数解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。以其它任何值开头,则基数是10 (十进制)。数组中正在处理的当前元素的索引。

2023-06-11 10:28:25 546

原创 数组扁平化的8种方法 - js篇

用简单的话来说,就是将一个。

2023-06-05 19:12:04 759

原创 var的变量提升和函数提升 - js篇

代码之前首先对齐进行编译,编译过程中的一部分工作就是找到所有的声明,并用合适的作用域将他们关联起来,这也正是词法作用域的核心内容。且不会被变量声明覆盖。

2023-05-31 09:37:44 187

原创 关闭eslint - vue篇

我们在开发vue项目的时候,创建的时候可能会不小心选择了eslint,这个检测规则对于新手来说,简直就是噩梦,会让你崩溃。这些方法基本足以解决这个问题了,但是笔者还是建议各位有了一定开发经验的时候,用上这个检测文件,不仅能培养自己良好的编程习惯,而且容易和团队其他人保持一个风格。上图红框框部分,我项目中的文件内容是这样的,其他项目可能有别的一些内容,我们把框框中的内容注释掉或者去掉就可以了。有这个文件的话,就直接修改这个文件就可以解决。文件,把你不需要校验的文件添加进去即可,文件都不进行校验了,同理,

2023-05-22 19:22:17 3907 7

原创 使用scss报错的解决方案-vue篇

总结一下大概就是要安装跟node版本匹配的node-sass和,如果使用的都是最新版本,直接执行以下指令即可或这里的–save-dev和–save的区别只是下载到里的或,两者区别在于前者是在本地环境用到的依赖,后者是在开发环境需要用到的依赖,只在本地开发的话–save-dev即可。踩坑,留下足迹~原文链接:https://blog.csdn.net/August_802/article/details/124985920。

2023-05-18 09:31:15 801

原创 vue中引入scss依赖的步骤 - vue篇

SCSS是一种CSS预处理语言定义了一种新的专门的编程语言,编译后形成正常的css文件,为css增加一些编程特性,无需考虑浏览器的兼容性(完全兼容css3),让css更加简洁、适应性更强,可读性更佳,更易于代码的维护等诸多好处。CSS预处理语言有SCSS (SASS) 和LESS、POSTCSS。

2023-05-15 21:32:42 1405

原创 getaddrinfo ENOTFOUND localhost - vue篇

时,报错根据报错内容,基本断定是localhost的问题,很有可能是localhost没有绑定127.0.0.1亲测有效!

2023-05-14 12:01:17 911

原创 rem、px、em的区别 -前端

在做项目的时候用什么单位长度取决于你的需求,我一般是这样的:1、像素(px):用于元素的边框或定位。2、em/rem:用于做响应式页面,不过我更倾向于rem,因为em不同元素的参照物不一样(都是该元素的父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素),这样计算起来更清晰。1、rem和em单位是由浏览器基于你的设计中的字体大小计算得到的像素值。2、em单位基于使用他们的元素的字体大小。3、rem单位基于html元素的字体大小。4、em。

2023-05-12 15:11:37 426

原创 input限制的正则表达式

input限制的正则表达式。

2023-03-13 12:15:40 1321

原创 页面显示超时的问题处理-uniapp

使用构造函数代替 // 格式。

2023-02-20 14:16:57 236

原创 new Date() 使用 --- js篇

year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;month的值域为0~11,0代表1月,11表代表12月;min和sec的值域在0~59之间。date的值域在1~31之间;将字符串形式的日期转换成日期对象。

2023-02-13 09:26:46 839

原创 缺少nodejs环境,请在设置中配置nodejs的安装路径 - uniapp

运行到微信小程序内置环境

2022-09-22 09:02:18 8026 3

原创 webpack打包 - webpack篇

webpack 打包流程

2022-08-10 17:08:38 568

原创 new Set()去重原理 --js篇

`set()` 函数中会先调用对象的 `hash()` 方法,获取 `hash` 结果;如果 `hash` 结果相同,用比较操作符 `==` (也就是调用函数` eq()`)判断二者的值是否相等;如果都相等,去重;否则,`set()` 认为二者不同,两个都保留到结果中。......

2022-08-10 14:40:17 3099

原创 vue及rect面试点(更新中) - 面试篇

文章目录一、事件的执行顺序阻止事件冒泡的方式二、事件循环 EventLoop三、异步编程的方法1.回调函数2.事件监听3.发布/订阅 | 观察者模式4.Promise 对象5.Generator 函数6.async 与 await四、call、apply、bind 的区别call fn.call(obj, 1, 2);apply fn.apply(obj, [1, 2]);bind fn.bind(obj, 1, 2);五、vue 和 react 中不被渲染出来的标签六、js 里 for..in 和 for

2022-04-30 18:27:37 1200

原创 React性能优化 - React篇

React性能优化1. 延迟加载不是立即需要的组件2. 调整 css 而不是强制组件加载和卸载3. 使用 Fragment 来避免添加额外的 DOM 节点4. 避免使用匿名函数5. 避免使用内联对象6. 使用 memo 来缓存组件7. 使用 useMemo 缓存大量计算8. 使用 PureComponent、shouldComponentUpdateReact 凭借 v-dom 和 diff 算法拥有高效的性能,除此之外也有很多其他的方法和技巧可以进一步提升 React 的性能。1. 延迟加载不是立

2022-04-29 22:45:19 1102

原创 数组的去重,截取,转字符串 - js篇

数组的一些处理方式1. 数组的去重 12种方式1.1 利用ES6 Set去重(ES6中最常用)1.2 利用for嵌套for,然后splice去重(ES5中最常用)1.3 利用indexOf去重1.4 利用sort()1.5 利用对象的属性不能相同的特点进行去重(这种数组去重的方法有问题,不建议用,有待改进)1.6 利用includes1.7 利用hasOwnProperty1.8 利用filter1.9 利用递归去重1.10 利用Map数据结构去重1.11 利用reduce+includes1.12 [..

2022-01-17 22:40:42 768

原创 重置windows上的滚动条样式 - css篇

修改滚动条样式1. 滚动条属性2. 滚动条样式修改第一种方式第二种方式3. IE下面的CSS设置滚动条1. 滚动条属性主要有以下7个属性::-webkit-scrollbar 滚动条整体部分,可以设置宽度啥的::-webkit-scrollbar-button 滚动条两端的按钮::-webkit-scrollbar-track 外层轨道::-webkit-scrollbar-track-piece 内层滚动槽::-webkit-scrollbar-thumb 滚动的滑块::-webkit

2022-01-17 22:01:43 686

原创 React修炼之Model篇详解 - React篇

React修炼之Model篇详解import * as usersService from '../services/users';export default { /* * 当前 Model 的名称。整个应用的 State,由多个小的 Model 的 State 以 namespace 为 key 合成 */ namespace: 'users', /* * state: 该 Model 当前的状态。数据保存在这里,直接决定了视图层的输出

2021-08-10 15:34:17 1479

原创 DOMException: play() failed because the user didn‘t interact with the document first - video篇

报错原因是chrome新特性,内容大致意思是开发者不能利用手中权限去给用户造成噪音干扰,首次加载页面需要用户和audio/video进行交互解决办法1.视频 要静音播放muted// video标签上加这个属性当用户首次进入页面时给提示用户启用告警铃声let audioPlay = document.getElementById('myaudio')audioPlay.play()setTimeout(() => { audioPlay.pause() audio.

2021-05-06 14:31:46 2169

原创 Initialize failed: invalid dom. - vue篇

目录解决方法控制台提示错误信息:Initialize failed: invalid dom解决方法看下代码里,是否在实例前,对dom进行了操作。比如:// this.$refs.bg 是undefineddestroyed(){ this.chart = this.$refs.bg ? echarts.init(this.$refs.bg).dispose(): '';}踩坑,留下足迹~...

2021-04-23 13:56:26 1958

原创 vue.js:路由跳转时更改页面title - vue篇

目录router/index.js内代码main.js代码总结router/index.js内代码文件名:router/index.jsroutes: [ { path: '/', name: 'index', component: Index, meta: { title: '首页' } }, { path: '/login', name: 'login', c

2021-04-16 15:33:46 687

原创 Error: Cannot find module 等问题 - npm篇

目录问题一:处理方案问题二:处理方案问题二:解决方案二问题一:遇到报错信息Error: Cannot find module ‘D:\project***\node_modules_@[email protected]@@vue\cli-service\bin\vue-cli-service.js’问题二:遇到报错信息Module parse failed: Unexpected character ‘�’ (1:0)You may need an appropriate load

2021-04-14 11:35:44 57981 7

原创 vscode插件之local history - 工具篇

目录问题解决方式问题每次修改完保存文件,会生成.history目录。解决方式由于安装了 local history插件。只需禁用,即可。踩坑,留下足迹~

2021-04-08 13:46:02 2306

原创 微信内h5页面下拉出现空白 - 问题篇

微信自带浏览器,h5页面下拉时出现空白区域解决方式可以用禁止微信内h5页面下拉的方法document.body.addEventListener('touchmove', function (e) { e.preventDefault() }, { passive: false })踩坑,留下足迹~...

2021-04-08 11:56:51 1374

原创 cnpm : 无法加载文件 - npm篇

cnpm : 无法加载文件 D:\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本1.安装依赖时,执行cnpm install报如下错误cnpm : 无法加载文件 D:\nodejs\node_global\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com /fwlink/?LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 1+ cnp.

2021-04-08 11:49:39 1148

原创 Windows下Yarn安装与使用 - yarn篇

目录方法一:使用安装包安装方式二:使用[npm](http://www.fly63.com/tag/npm)安装常用命令方法一:使用安装包安装下载官方安装包,https://yarnpkg.com/zh-Hans/docs/install ,安装完毕后,一定要配置环境变量。方式二:使用npm安装npm i yarn -g-i:install -g:全局安装(global),使用 -g 或 --global输入yarn -version 可以看到版本号,说明安装成功了。我们就可以在项目中像使用

2021-04-08 11:43:28 1210

原创 sourceTree添加ssh key的方法 - 工具篇

目录1. 使用git命令生成公私钥2. 设置sourceTree的SSH客户端3. 添加~/.ssh/id_rsa.pub 文件内容到 git 服务器里面去4. sourceTree克隆git项目5. 补充说明1. 使用git命令生成公私钥设置git的user name 和 email$ git config --global user.name "xxx"$ git config --global user.email "[email protected]"生成SSH密钥2.1 检查是不

2021-04-08 11:37:55 905

原创 vue项目运行时自动打开浏览器配置 - vue篇

目录1.config/index.js文件内配置2.vue.config.js文件内配置3.package.json文件内配置运行项目时,自动打开浏览器。可以有以下配置1.config/index.js文件内配置autoOpenBrowser: true,2.vue.config.js文件内配置devServer: { open: true}// 新增 open: true这个有时会遇见浏览器打开两次3.package.json文件内配置"scripts": { "dev

2021-04-08 10:54:31 1269

原创 动态表单提交时验证出错,如何处理this.$refs[name].validate is not a function

目录问题解决办法问题this.$refs[name].validate is not a function解决办法试试看打印出this.$refs[name] 是什么Form组件,最好不要放到遍历里面,不然ref里的 formdata 是谁的 都不知道。采坑,留下足迹 ~...

2021-04-01 16:22:31 964

原创 git pull显示仓库找不到 - git骗

目录问题解决办法问题git pull显示仓库找不到。解决办法如下图,找到之后,把git仓库对应的地址 下面的账号删除然后再去git pull。这时会让你重新输入账户名和密码!!采坑,留下足迹 ~

2021-04-01 13:05:31 1617

原创 调用vuex中mutations和ations的方式 - vue篇

目录mutations1.直接通过$store.commit调用2.通过在methods中注册方法调用actions1. 通过$store.dispatch 方法触发2.通过在methods中注册方法调用mutations1.直接通过$store.commit调用 <button @click="$store.commit('mutations中的方法名','可带参数')">调用</button>2.通过在methods中注册方法调用// script中先引入mapMu

2021-03-23 15:37:06 313

原创 Windows安装node的步骤 - 程序篇

目录1.下载安装nodejs2.改变全局存放路径3.改变环境变量4.测试一下1.下载安装nodejsnodejs官网http://nodejs.cn/download/可以自定义安装路径,直至安装完成。window+R,输入cmd,输入 npm -v检测是否安装成功。 输出版本号,则代表安装成功。2.改变全局存放路径说明:这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在执行类似:npm install express

2021-03-22 11:31:03 556

git2.28版本压缩包

git2.28版本压缩包

2023-06-28

前端入职第一天安装程序及配置环境

软件安装包

2023-06-16

空空如也

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

TA关注的人

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