自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

年三十的博客

天高路远,学海无涯

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

原创 vue响应式原理,数据劫持 + 发布订阅模式

数据劫持,vue2使用Obeject.defineProperty()监听数据变化,vue3使用ES6的proxy构造函数监听数据变化,为每个属性分配一个订阅者集合的管理数组Dep,添加方式不限于:v-model,v-bing,{{}},等用到该属性的指令,修改属性值则触发set()方法,在set()方法内通知订阅者数组Dep,订阅者数组循环调用自身的update()方法更新视图。订阅者,有update()方法,收到Dep的通知后,会调用自身的update()方法,并触发Compile中绑定的回调。

2023-06-06 10:53:00 247

原创 Event Loop

JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript 的主要用途是与用户互动,以及操作 DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题若以多线程的方式操作这些 DOM,可能出现操作冲突,假设有两个线程同时操作一个 DOM 元素,一个线程要求删除 DOM,而另一个线程要求修改DOM,这时浏览器就无法决定采用哪个线程的操作。所以,为了避免复杂性,从一诞生,JavaScript就是单线程为了利用多核CPU的计算能力,提出。

2023-05-10 14:44:42 678

原创 js 假值

false null undefined 0 " "(空字符串) NaN除了这 6 个外,其它均为“真” ,包括对象、数组、正则、函数等注意 "0"、"null"、"false"、{}、[] 都是真值

2021-07-20 12:54:36 568

原创 margin重叠问题

现象:相邻的普通元素的高度,等于两者相加的绝对值解决:开启 BFC(Block Formatting Content)块级格式化上下文overflow(外层div,值不为 visible ) position(内层div,值不为 static 或 relative ) display(内层div,值为 inline-block,table-cell,flex,table-caption 或 inline-flex) float(内层div,值不为none) zoom(外层div,值为1,清除

2021-07-04 22:24:21 634

原创 伪类和伪元素

伪类分为:状态伪类和结构性伪类状态伪类(根据不同的状态展现不同的样式)如::hover :link :active focus结构性伪类(通过文档结构的关系来匹配DOM元素)如::first-child :last-child :nth-child nth-last-child伪元素(创建一个有内容的虚拟容器,需要配合content属性使用,对元素中的特定内容进行CSS渲染层操作,不存在于DOM元素中,无法通过 js 操作)如:::after ::before ::fir

2021-06-30 23:06:31 491

原创 【AntDesignPro V5】 只有pages 或 page 目录下的页面才能插入资产

最近在着手使用AntDesignPro这个框架,使用umi气泡创建区块时遇到这个问题,我尝试了两个办法可以解决此问题第一种(网友回答)直接在index.tsx里面return的标签容器中,添加一个a标签即可生效(没探究缘由,但确实生效)第二种(github中issues回答,推荐)设置环境变量处理,在package.json文件中使用cross-env添加命令,执行yarn nocache即可生效"nocache":"cross-env BABEL_CACHE=none umi d.

2021-01-26 09:44:48 301

原创 success Installed “[email protected]“ with binaries: - create-umi 文件名、目录名或卷标语法不正确

在创建ant design pro项目的时候执行yarn create umi命令遇到了此问题命令末出现success Installed "[email protected]" with binaries: - create-umi 文件名、目录名或卷标语法不正确的报错提示解决方案如下:找到node.js中安装的包的位置,在bin文件夹中找到create-umi.cmd文件@"%~dp0\C:\Users... "将文件内容中"%~dp0\"字符删除删除后,不要重新执行y.

2020-11-27 13:34:33 2580 1

原创 块级标签包含行内标签底部溢出3px

问题:div里包含img底部多出3px在设置css阴影时发现此问题,检查UI及盒子属性没问题后了解到是 "3px bug "img内联元素,div是块元素,浏览器解析时会在img下预留高度,大小因浏览器而异类似于文本text元素,末尾会有一个空白符,所以会多出几像素解决办法不限于如下三种:1.设置div { font-size: 0 } 将外层块级标签的font-size设置为0;2.设置img { display: block } 将内层行内标签的display设置为bl..

2020-05-20 20:30:31 247

原创 swiper 小记 ( 默认显示第二张并居中,最右侧图片回弹显示不全 )

开发官网移动端的时候,用到了swiperjs,遇到两个小问题,简单记录一下最右侧图片回弹显示不全可以设置slidesPerView:'auto',或一页可见数number设置无果,后发现之前有自定义width,设置了width=window.innerWidth取消参数显示正常配置可见数后,用户无法感知滑动机制需要默认显示中间一项居中来引导用户配置如下参数initialSlide:1 // 默认显示下标,自行设置centeredSlides:true // 居中显示.

2020-05-15 19:19:30 2675

原创 touch : 无法将“touch”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次

在阿里code托管服务新建了仓库,touch新建README.md文件出现此问题网上有很多配置系统环境变量的解决方案,或者以管理员身份执行,都不能解决我的问题后查阅到两种解决方法:windows可以使用echo > 代替linux中的touch命令windows想使用touch指令需要单独安装npm install touch-cli -g安装后执行命令成功创建文件,解决问题!...

2020-05-14 19:55:09 8446

原创 413 Request Entity Too Large 上传文件提示错误

使用后台管理进行文件上传,控制台打印此错误信息后台同事说nginx做了拦截,查阅看是简单,于是上手简单配置了下找到nginx目录下的nginx.conf文件vi nginx.conf添加如下代码:client_max_body_size 20M;可在 http / server / location 三者中配置三者的区别在于设置到http内,控制全局nginx所...

2020-04-28 00:22:09 197

原创 服务器SSH密钥登录-小记

前几天服务器迁移,同事说新服务器要使用密钥登录下载了小巧的putty,然后给我配置了下,保存私钥上传文件使用pscp命令外加私钥,每次上传还得指定私钥路径,感觉有点麻烦小插曲:使用putty上传nginx项目后,中文路径资源找不到了,解析或传输问题没有具体深究于是查了下密钥登录的相关资料后来还是采用了常用的xshell+xftp的组合xshell中工具下>新建...

2020-04-28 00:15:10 280

原创 chrome 调试进入 paused in debugger 状态解决办法

最近发现谷歌F12总是进入断点......在chrome中进行调试时,即使未设置任何断点,脚本也始终在调试器中暂停原因:选中了DOMException的Pause按钮,您启用了“异常暂停”(窗口左下方带有停止符号( || )的停止符号形状的图标)解决方法:F12调试切换到Sources窗口,尝试将停止符号( || )单击回到关闭/灰色状态(不是红色或蓝色状态),然后重新加载...

2020-04-27 23:35:47 5075 2

原创 Could not read from remote repository.Please make sure you have the correct access rights错误的解决方法

在GitHub上新建了含有README.md文件的仓库,push提交的时候提示此错误后经查阅,是因远程repository和本地的repository有冲突因为新建项目中含有README.md文件,没有pull到本地,所以产生版本冲突可以使用如下解决方案:先将远程repository修改pull下来:git pull origin master,再提交:git push -u or...

2020-04-27 23:22:42 2588

原创 浅析axios中post上传,后台接收不到参数

最近在用vue-element-admin这套模板,其中使用封装的http请求,post请求参数后台反馈接收不到先说一下 HTTP content-typeContent-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张...

2020-04-14 10:37:50 818 1

原创 回车和失去焦点事件同时触发

使用element中新建标签的功能,按钮没隐藏,发现是因为keyup.enter和blur同时触发了原因:绑定了两个触发方式,执行了两次解决方法:@keyup.enter.native="$event.target.blur"将回车事件指向当前元素的失去焦点事件即可!...

2020-04-14 09:40:10 2255

原创 centos7重新安装tomcat

前言:阿里云的个人服务器,Tomcat自从部署项目后,总是无故停止运行,于是重新配置下先去Tomcat官网重新下载新版本包,http://tomcat.apache.org下载后,上传到服务器,解压缩:tar -zxvf 压缩包解压缩后运行,发现在tomcat运行,sh startup.sh 输出的Using JRE_HOME参数与JDK路径不匹配查看bin目录下的setc...

2020-04-05 23:54:09 492

原创 服务器配置FTP账号,概念浅析

前言:之前在FTP配置的账号,无法将用户限制在主目录中,查阅vsftpd.conf的配置参数,发现网上很多言论相悖,于是总结一下常用参数,以备不时之需,方便查找userlist_enable=YES(允许某些用户登入的项目 存在user_list文件中的用户不允许登入)userlist_deny=YES (如果这里改为NO,反过来只能存在user_list文件中的用户允许登入)us...

2020-03-20 09:54:05 212

原创 vue / js 实现复制粘贴功能

一 vuevue 可使用vue-clipboard 插件cnpm i vue-clipboard2-S 安装插件在main.js 中引入importVueClipboardfrom'vue-clipboard2'Vue.use(VueClipboard)success 回调,复制成功,即可粘贴按照如图使用即可二 js使用 js 选择要复制的 do...

2020-02-10 23:56:17 6742

原创 vue切换路由控制台报错,Uncaught (in promise)

前言:写代码有点洁癖,看见这种影响美观的报错无法忍受跳转 vue-router 中同样的路由会报错,不同路由不会提示经了解,此问题解决方式如下删除你项目下的依赖 node_modules 文件夹,重新初始化 cnpm / npm install(个人理解是更新部分依赖的版本,但有网友遇到依赖更新后版本没有发生变化,和之前报错版本无差) 单独升级vue-router的版本,cnpm...

2020-02-10 23:24:57 1813

原创 cookie,sessionStroage,localStroage 区别

前言:做权限登录的时候,思考用哪个存储合理简单梳理三者的区别,慢慢完善Cookie以文本形式保存客户端,大小只有4kb,大小受限 用户可以禁用cookie功能 同源请求时会被携带(服务端和客户端互传,不论是否需要),加大http流量,数据过多影响性能 以明文方式传输信息不安全,使用https处理,安全性较低 cookie过期时间,不设置默认跟随浏览器的生命周期而销毁,若设置...

2020-01-19 16:27:53 254

原创 前端工程师的成长论

即使是在瞬息万变的前端领域,也存在一些具备“一次学习,终生受用”特性的知识,比如前端性能优化的核心思路,再比如我们这次要展开来讲的JavaScript设计模式。在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 ——维基百科烹饪有菜谱,游戏有攻略,每个领域都存在一些能够让我们又好又快地达成目标的“套路”。在程序世界,编...

2020-01-14 14:32:56 399

原创 vue多页面打包配置

因业务需求中,有多页面打包的需求经个人查阅,有两种处理方式方式一vue-cli版本3.x是支持多页打包的,可以直接在webpack.config.js 中添加pages,配置比较方便 pages: { index: { entry: './src/main.js', template: 'index.html', filename...

2020-01-07 10:37:07 2843 1

原创 Vue 登录权限简析

vue的后台管理登录思路登录填写用户名密码,发送给后台 后台校验通过后,返回token 前端拿到token保存到sessionStroage / localStroage / cookie 中,以及Vuex,并跳转路由页面 前端请求后台或跳转路由时,判断缓存中是否有token,没有登录拦截,有则继续跳转 根据 token 去获取用户信息,请求后端接口,携带token参数 后端...

2019-12-20 18:50:06 230

转载 区块链概念解析

中国麻将:世界上最早的区块链项目甲首先发起一个申请,我要打麻将,组建一个麻将局,这就相当于创建一个区块,这个区块会被广播给乙、丙、丁在打麻将的过程中,四个人不断的 摸牌、打牌,这个可以理解成挖矿,通过什么来挖矿?麻将机就可以理解成矿机,这四个人就是所谓的矿工,这四个矿工从144个麻将中碰撞出任一正确的牌就能胡牌,我们可以将这144个麻将理解成一连串的哈希值(数字),胡牌的过程就叫算力,...

2019-12-19 18:19:26 152

原创 微信分享接口,配置参数后无效分析

常有一些微信内分享自定义内容的需求,遇到几个小问题,分析记录于此接手外包项目,修改其中微信分享朋友/朋友圈的功能此功能微信提供了两个接口updateTimelineShareData(分享朋友圈)/ updateAppMessageShareData(分享朋友)onMenuShareTimeline / onMenuShareAppMessage后者是即将被废弃的接口...

2019-12-19 12:36:48 1302 1

原创 简述ES6,JavaScript,TypeScript三者关系

简单梳理三者关系ES6是国际标准化组织 ECMA 制定的一套标准Javascript是基于此标准进行实现和扩展的TypeScript是由微软开发的自由和开源的编程语言,可以编译出纯净、 简洁的JavaScript代码,并且可以运行在任何浏览器上TypeScript的优势:它有更多的规则和类型限制,代码具有更高的预测性、可控性,易于维护和调试所以TypeScript是一种由微...

2019-12-16 15:17:37 831

原创 pointer-events: none导致点击事件失效解决方法

前言在页面中我们可能会使用图片作为按钮去处理但在微信中打开页面,长按会触发微信的图片保存机制这时候我们就用到了pointer-events:none;这个CSS属性显然它能解决禁止长按保存的问题但也引发了事件不生效,一起禁止了使用两个方式解决:在相同位置写个DOM元素去占位,替代图片,触发此DOM的事件 将图片设置为背景图片去处理即可解决!...

2019-12-03 13:25:54 8498

原创 浅析同步和异步

理解同步和异步,过段时间再去想,感觉有点把两者混淆了,重新梳理下基本概念:同步:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;异步:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。区别:一个需要等待,一个不需要等待,在部分情况下,我们的项目开发中都会优先选择不需要等待的异步交互方式。例如:同步:当程序1调用程序2时,程序...

2019-11-19 13:19:19 181

原创 Elements in iteration expect to have ‘v-bind:key’ directives eslint-plugin-vue

使用vscode时的语法检测这是ESLint的功能,对vue进行了eslint检查,把eslint对该插件的检查关闭即可解决方法:文件–》首选项–》设置–》在搜索框中输入:vetur.validation.template找到vetur.validation.template:true,将vetur.validation.template:true在右栏框中进行重置为false...

2019-11-19 13:07:44 215

原创 谷歌浏览器无法自动播放视频问题

在网站中,可能有时候需要一个展示效果...这时候我们或许会采用视频处理,但自动播放会遇到一些小问题以下是谷歌的声明:谷歌正在一步步解决Chrome浏览器遇到的站点自动播放视频及音频的问题, 在4月发布的Chrome 66版本中,谷歌已经将带声音的视频自动播放默认禁止。只有用户点击或点按网站后媒体不播放声音或者(在桌面设备上)用户之前已对网站上的媒体表现出兴趣时,才允许自动播放。这会...

2019-11-19 12:06:30 5522

原创 Echarts地图china.js

在做公司数据可视化时,使用了Echarts使用Echarts进行地图绘制展示的时候,需要china.js的引入但是官网貌似已经停止了china.js的下载,官方建议使用百度地图代替当时觉得麻烦,就找到了china.js的下载资源链接永久有效,如果失效可以留言私发链接: https://pan.baidu.com/s/1Oq6gFPWjXHPQSiZ1Pq1-8A 提取...

2019-11-19 11:45:21 19815 20

原创 vue项目拷贝到另一台电脑后,编译后报错

由自己的MacBook Pro更换成了公司新配的Windows...将vue项目拷贝到Windows电脑上运行后报错解决问题:因为node_modules 不是源码,只是根据依赖装的开发依赖和项目依赖在不同系统环境下的可执行文件是不一样的,node_modules存的可执行文件所以不同环境下的可执行文件应重新生成其实和GitHub上传有点相似,在clone的仓库中,.g...

2019-11-19 11:15:38 2832

原创 vscode控制台报错:无法加载文件.......因为在此系统上禁止运行脚本【Powershell】

使用vscode自带集成终端,输入命令cnpm run dev后报错打开控制台方式,选项View -> TerminalPowershell命令行解决报错:(1)以管理员身份运行vs code(2)查询Powershell详细策略,在终端执行:get-ExecutionPolicy,显示Restricted(禁止状态)(3)更新Powershell策略,在终端执行:s...

2019-11-19 11:06:27 2727 3

原创 ajax的绝对路径和相对路径问题

前言Java同事修改jsp页面中ajax参数,写的相对路径,请求无效以http://www.xxx.com/abc/def为参考相对路径:./123则:http://www.xxx.com/abc/123相对路径:../123则:http://www.xxx.com/123绝对路径:/123(从"/"根目录后添加项目接口名称 )则:http://www.xxx...

2019-10-09 15:04:33 655

原创 http://localhost:8080/favicon.ico 404

前言新建页面经常遇到http://localhost:8080/favicon.ico 404现象强迫症看着十分碍眼解决办法生成个favicon.ico,在head标签引入favicon.ico文件即可 在head中引入<link rel="shortcut icon" href="#" /> 默认图标不指定路径标记!...

2019-09-27 16:32:38 8095

原创 Element的表单验证规则,清空或填充数据如何避免自动触发

前言使用Element中的form表单检查规则,编辑窗口中填充数据,新建时需清空需要注意一点:方法:resetField,不是把表单属性都清空,而是重置为初始值比如form在加载渲染之前,属性已经被赋值(初始值),所以再次使用resetField不会清空表单数据,而显示初始值可以理解为重置功能问题将表单数据进行清空后,出现表单rules规则自动验证提示点...

2019-09-25 14:51:48 16293 9

原创 krpano 切换大场景 xml 问题

前言在使用krpano全景制作的过程中,你可能会遇到和我一样的小问题:例如:“在客厅里,需要看到每个卧室的全景,进入卧室后需要看到每个物品的全景”就是需要切换大的场景当时想到最直接的办法,就是扔到服务器上处理多个链接的切换,但觉得这样实现不太符合逻辑后来看到官方有使用JS切换XML的方法把需要切换的场景 xml、panos中的文件复制到相应目录下使用热点进行跳转,定...

2019-09-22 22:07:10 1783 2

原创 IP解析异常" DNS_PROBE_FINISHED_NXDOMAIN "

前言昨天网站出现一个很低级的错误,公司官网www.abc.com,访问链接正常在百度搜索点击入口,就报错"DNS_PROBE_FINISHED_NXDOMAIN "因为SEO优化关键字入口用的是主域名abc.com插曲问题是同事发现的,我电脑一直访问正常,为什么,这里要提及一下谷歌插件为方便,我使用了一个清理缓存的插件,检查清理缓存的设置并没有问题尾处不显眼处...

2019-09-18 12:21:14 39660 5

原创 pagehelper分页改成spring boot后,超出最大页数返回数据

原因:pageHelper里面自带的一个功能,叫做reasonable分页参数合理化,3.3.0以上版本可用,默认是false启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据配置文件里面设置了合理化参数(reasonable)查询为tru...

2019-09-17 17:27:54 453

空空如也

空空如也

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

TA关注的人

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