- 博客(18)
- 收藏
- 关注
原创 vscode下的$PATH和使用系统自带终端的$PATH有区别
因为vscode打开终端的时候加了一个参数 -lvscode官网链接的解决方式有两种
2021-10-28 18:17:43
1153
原创 vue的scope css原理
1. 每个组件中style如果加了scope,vue-loader将会为这个组件生成一个独特的hash值(多个scope也只会生成一个相同的hash值)2. 组件的hash值只会添加到当前组件的原生元素,以及子组件的根元素上面,不会添加到子组件非根元素带::v-deep的scope css最后经过vue-loader处理之后的样式为[hash] .class不带::v-deep的处理后的样式为.class[hash]看上面就懂了...
2021-10-22 20:38:42
912
原创 vue源码解析--patch算法
获取新旧vnode旧的vnode通过实例的_vnode属性获取新的vnode通过实例的$render()方法生成,同时使用另外一个变量引用instance._vnode,然后将新的vnode赋值给instance._vnode对比新旧vnode调用patch(oldVnode, newVnode)如果sameVnode(oldVnode, newVnode),则调用patchVnode(oldVnode, newVnode)根据newVnode是否为text类型,以及是否有children来.
2021-05-13 18:33:31
1022
原创 vue源码解析--响应式原理
重点关注三个类Watcher:(vm)一个vm(vierModel)实例对应一个Watcher实例,用来接收通知,对比新旧Vnode,更新页面 var Watcher = function Watcher ( vm, expOrFn, cb, options, isRenderWatcher ) { ... }; Watcher.prototype.addDep = function addDep (dep) { ... d
2021-04-30 11:58:09
111
原创 nginx配置https
阿里云免费证书申请,免费20个/年每一个免费证书绑定特定域名,绑定完成后下载对应的pem和key文件nginx配置修改阿里云需要修改安全组,开放443端口
2021-04-29 10:37:45
78
原创 前端杂碎篇
htmlcss1. 不需要js,直接通过css阻止元素鼠标事件(click, hover, blur …)pointer-events: (auto | none | …)<div onclick="alert(12)" style="pointer-events: none">点击不会有任何反应</div>js1. 将非标准json字符串转换成对象eval("(" + str + “)”)let str = "{ab:12,cc:99}"let tr
2021-03-18 11:30:11
83
原创 webpack5修改样式后,webpack-dev-server没有刷新的问题
最终定位到的是我在package.json里面写了browserslist解决方法:删除browserslist,或者在webpack.config.js里面添加module.exports = { target: process.env.NODE_ENV = "production" ? "browserslist" : "web"}这是webpack5的bug参考链接:browserslist 导致 webpack-dev-server 的自动刷新失效...
2021-01-09 09:52:57
1232
原创 javascript里面的this指向问题
基本分为两类非箭头函数的this简而言之,this指向调用这个函数的对象。notice: 因为可以使用赋值,或者使用call,apply,以及bind,所以这个this是可以改变的箭头函数的this简而言之,this指向声明这个箭头函数时所处的上下文。可以将箭头函数理解为一个new function(); 当执行到这里时,上下文是什么,它就是什么。像那种a函数return出来的箭头函数,this指向执行函数a的对象。notice: 使用call,apply,以及bind,不能改变th
2020-08-17 15:48:59
439
原创 遍历里面使用async语法
需求:我想要在一个遍历里面执行多个异步操作,需要等上一个异步操作完了,再去执行下一个异步;直接使用了forEachfunction cc(){ return new Promise((resolve, reject) => { setTimeout(() => { console.log(12) resolve() }, 2000); })} [1,2,3,4].forEach(async item => { console
2020-08-11 22:13:47
347
原创 git免密推送
接上文 linux建立git服务器下面做一下免密推送全部是客户端操作查看公私钥,如果存在,一般在~/.ssh目录下面(id_rsa,id_rsa_pub),若不存在,创建之ssh-keygen上传公钥到服务器ssh-copy-id -i ~/.ssh/id_rsa.pub gitpros@123.12.123.12说明:上面命令其实就是写到服务器的gitpros用户主目录下的.ssh/authorized_keys,多个用户可以自动追加到该文件下面,不会覆盖原来用户的公钥测
2020-08-06 16:30:42
223
1
原创 linux建立一个git服务器的步骤
首先使用root登录,假设当前服务器ip为123.12.123.12新建一个gitpros用户,用来管理所有的代码仓useradd -d /home/gitpros -m gitpros说明:username : linux指令-d [directory] : 指定用户主目录,这一步最好加上,会自动添加用户配置文件,如.bashrc等文件-m : 若上面指定的文件夹不存在,则自动创建gitpros : 要创建的用户名passwd gitpros说明:下面会让设置gitpros的..
2020-08-06 16:11:07
180
原创 git的ssh连接方式
在服务端使用git init --bare bareDirectory,或者新建一个bareDirectory,然后cd进去输入git init --bare note:这里面需要使用到--bare参数,否则当在客户端提交时,客户端会报错remote: error: refusing to update checked out branch: refs/heads/masterremote: error: By default, updating the current branch in a ..
2020-08-05 20:43:28
271
原创 centos7.6安装Gnome Desktop
阿里云上面装的centos是没有桌面的所以自己装了个,然后可以通过阿里云的vnc远程连接使用安装后的效果网上教程上面都要安装什么x windows,还有Graphical Administra Tools什么的,其实是不需要的,只需要安装GNOME Desktop我是已经装过了GNOME Desktop,本来应该是在Availabel Environment Groups里面的。看到这个之后直接yum group install “GNOME Desktop”,后面安装过程中要输入y安装完成之后
2020-08-05 00:16:17
1369
原创 express静态服务器
express框架托管静态文件,以及设置监听端口//index.jsvar express = require("express");var app = express();//path是需要托管的文件夹的路径(绝对或者相对),//这里如果的路由路径为"/",则默认转到 path/index.html, 而忽略了下面的app.get("/",...);app.use(express....
2019-08-27 22:56:33
134
原创 欢迎使用CSDN-markdown编辑器1111
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-08-27 22:55:59
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人