Search for History
Clear
2023.10.17
JavaScript
虚拟 DOM 比真 DOM 烂
前言在开始之前,说明一下为什么写这篇文章吧。虚拟 DOM(本文后面统一 vDOM),这个词经常在面试、社区文章中出现,都在说 vDOM 快、至于快在哪里也没个人能说的清楚(当然,我也不一定是对的,主要是分享自己对 vDOM 和 DOM 的看法),从网上看到的资料我能了解到的就是使用 JavaScript 的普通对象抽象出一个 vDOM 树,当数据变化的时候重新生成 vDOM 树,再通过 di...
1.5k
5min
2022.11.04
记录
JavaScript
不使用 ES6+ 实现 call apply bind 方法
使用 ES6+ 实现这三个方法其实非常简单,本文就来挑战一下,如果不适用 ES6+ 的情况下如何实现这三个方法难点: 不能使用扩展运算符(…)该如何接收参数和传入参数至于这三个方法有什么区别可以阅读我之前的这篇文章 call()-apply()-bind()方法有什么不同?apply就不多说废话了,直接看代码Function.prototype.myApply = function (_th...
689
2min
2022.10.15
JavaScript
教程
webpack 按需加载原理
本文不会带你去阅读 build 后的源码,而是告诉你它是怎么做到的,原理是什么,怎么实现,如何自己动手做一个按需加载模块,如果不想听本文 BB,可直接一步到页脚,获取完整代码 #完整的按需加载代码准备如果你想阅读源码,你可以根据下面的结构去创建,然后自己打包阅读源码// webpack.config.jsconst path = require('path')const ...
1.6k
6min
2022.07.11
JavaScript
使用 CardLink 库生产卡片式链接
有时候经常看到知乎的文章,或者问题中的链接是卡片式的将卡片式链接与普通的链接相比,卡片式链接不仅美观,还展示更多信息,如:标题、图片、网址等效果如下 CardLinkCardLink一些使用方法请见 https://github.com/Lete114/CardLink通过 CDN 的方式引入 CardLink<!-- 建议放在head标签里 --><script src=...
439
1min
2022.06.06
JavaScript
TypeScript
如何为自己的js项目生成API文档
如题,当自己写完了一个第三方库,准备发布时,总不能直接把一些使用方法以及传参说明写在README.md里吧看到许多第三方库都有一个.d.ts文件,当我们使用这些第三方库时,在方法上安装ctrl+鼠标左键时就会跳转到对应.d.ts说明文档中那么这个是咱们做的呢?难道是手动创建并编写的吗?不是吧?如果是手动创建的话,哪些大型项目那么多方法和文件模块,并且还是多人协作开发,不可能同步如此庞大的.d...
611
2min
2022.05.12
CSS
JavaScript
HTML
Cache
前端优化之静态资源缓存控制
本文转自@张云龙,于 2014 年 10 月在知乎上的一个问题回答,博主觉得这位大佬写的很好,也很详细,于是就把内容搬到了自己的博客上,便于以后自己查阅太长不想看使用强制缓存如何,如何让用户能够及时使用最新修改后的静态资源?修改资源文件名index-v1.css修改资源文件名,并且对文件内容生成 hash 值(内容改变,则 hash 改变反之不改变)(index.v1tg6l.css)为资源...
1.6k
5min
2022.04.12
JavaScript
Git
使用 Lint-staged 校验 Git 暂存区代码是否符合标准
什么是 Lint-staged在 Git 暂存区执行相关的操作,如对暂存区进行eslint或是prettier,也可以自定义一些脚本官方写着很有趣的一段话:Run linters against staged git files and don’t let 💩 slip into your code base!对暂存区进行代码校验,不要让 💩(便便)溜进你的代码库!正文有些人可能会问,我...
696
3min
2022.03.20
JavaScript
教程
使用Service Worker优选请求资源
前言当你的网站或博客有多个部署点时,部署在某个平台的访问速度比较快,于是你就把你的域名解析到了这个平台上,但有时候还是会变得很慢,这时其它站点速度可能会变得比你当前使用的还快一点,难道还有来回解析域名吗?太麻烦了有没有可以直接返回最快网站资源的办法呢?使用域名管理平台,有些平台可以解析不同网络或地区的站点例如腾讯云可以区分解析国内三大运营商、境内、境外、等一些解析选项(不太好用,还需要自己测...
2.9k
12min
2022.03.06
JavaScript
Node
NodeJS 解析 GET 请求 url 字符串
前言当你使用querystring.parse()或者是url.parse()时会得到一个警告@deprecated — since v11.0.0 - Use the WHATWG URL API.由于 url.parse() 方法使用一种宽松的非标准算法来解析网址字符串,因此可能会引入安全问题具体来说,已经确定了主机名欺骗以及用户名和密码处理不当的问题url.parse()在v11.0....
860
4min
2021.11.12
记录
JavaScript
如何优雅的处理async/await错误信息
废话在实际开发中,用到了一些异步函数或是请求。你可能会写.then()和.catch()来处理异步的成功与失败那么如果这个.then()里又有一个请求,那么时不时又得写.then()和.catch(),那么很有可能.catch()里也有呢?这里就不多说什么回调地狱的问题了你可能就会用async和await来处理异步请求,但这也就会随着产生一个问题,那就是await它无法捕获异步请求的错误啊这...
759
3min
1
2
…
4