Search for History
Clear
2023.10.17
JavaScript
虚拟 DOM 比真 DOM 烂
前言在开始之前,说明一下为什么写这篇文章吧。虚拟 DOM(本文后面统一 vDOM),这个词经常在面试、社区文章中出现,都在说 vDOM 快、至于快在哪里也没个人能说的清楚(当然,我也不一定是对的,主要是分享自己对 vDOM 和 DOM 的看法),从网上看到的资料我能了解到的就是使用 JavaScript 的普通对象抽象出一个 vDOM 树,当数据变化的时候重新生成 vDOM 树,再通过 di...
1.5k
5min
2023.03.18
记录
Windows
美化 Windows 终端(Terminal + PowerShell)
前言废话不多说,这是我做的一个 Oh-My-Posh 终端主题,仓库地址: https://github.com/Lete114/oh-my-posh-themes效果如下:Windows Terminal安装需要 Win10 2004(内部版本 19041)或更高版本Windows Terminal 是微软开源一个终端工具,主要功能包括多个选项卡、窗格、Unicode、和 UTF-8 字符...
1k
4min
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.04.12
Git
使用 commitlint 来检查提交的信息是否符合规范
什么是 commitlintcommitlint 用来校验你提交的信息是否符合规范,它和commitizen很类似,它们都做一件事,那就是让你提交的信息更规范commitlint 和 commitizen 的区别commitlint: 校验 git commit 信息是否符合规范(就像 eslint 一样)commitizen: 辅助 git commit 信息更加规范(就像代码提示一样)所...
520
2min
2022.04.12
Git
使用Husky(哈士奇)管理Git项目
什么是 Husky(哈士奇)Husky 就是狗,没错就是拆家的那家伙,也不知道@typicode是怎么想的,尽然起了这么有趣的一个项目名字Husky 可以方便快速的使用Git hooks,帮你简单的配置项目,同时 Husky 可以将Git hooks同步到仓库,让整个团队能使用相同的Git hooks什么是 Git Hooks文档说明中文: https://git-scm.com/book/...
728
3min
1
2
…
12