[Guide] Clash for Windows
Clash for Windows
GitHub
Documentation
配置mixin基本配置:
123456789101112131415161718192021222324mixin: # object dns: enable: true ipv6: false # default is false # listen: 0.0.0.0:53 enhanced-mode: redir-host nameserver: - https://dns.alidns.com/dns-query fallback: - https:/********.d.adguard-dns.com/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4 tun: enable: true stack: system dns-hijack: # DNS 劫持 - any ...
Git 的多工作区配置
Git 的多工作区配置为了在一台设备上,配置不同工作区路径下使用不同 Git 账号,可以使用接下来所属的方式一劳永逸以实现。
includeIf该方式,在不同的平台上,就只有路径写法的不同
macOS/Users/<username>/.gitconfig 文件中写入如下配置内容
123456789101112# GitHub[includeIf "gitdir:~/Work-Space/Personal/GitHub/"] path = .gitconfig-github# JihuLab[includeIf "gitdir:~/Work-Space/Personal/JiHuLab/"] path = .gitconfig-jihulab# Wrok## your work path[includeIf "gitdir:~/Work-Space/Company/xxx/"] path = .gitconfig-company-xxx
其中 gitdir:~/Work-Space/Personal/GitHu ...
JavaScript 的提升
JavaScript 的提升最近在回顾 JavaScript 的基础。
于是碰到了 提升 这个概念
关于,提升,一直有印象的,就是 var 这个变量提升。
提示:每个作用域都会有“提升”操作,提升操作会将变量提升到作用域的顶部。
var 的提升使用 var 声明的变量,会在所有的作用域中提升。
基本
12var a = 'a001'console.log(a) // a001
先打印,接着声明,赋值
12console.log(b) // undefined. ReferenceError: b is not definedvar b = 'b001'
在编译器中等价于
123var bconsole.log(b) // undefined. ReferenceError: b is not definedb = 'b001'
重复声明并赋值
123var c = 'c001'var c = 'c002'console.log(c) // c002
但是你假如对使用 le ...
当动态参数路由遇上通配符匹配路由
当动态参数路由遇上通配符匹配路由,通配符匹配路由可能会失效。最近在重开前端,所以在重新学习 VueRouter,但在学习的过程中,我发现了个问题:
大致情况当动态参数路由 A 和通配符匹配路由 B,是这样的关系时,通配符匹配路由 B 可能会失效。具体的情况/条件是:
当动态参数路由 A 和通配符匹配路由 B,路由 A 的 path 为 /a/:id,通配符匹配路由 B 的 path 为 /a/* (或是 /a/content-*)
且上述两个路由配置是在 routes 这个数组对象的同一级。此情况目前有两种:
默认的路由,即 routes 数组中的两个路由配置是在同一级。
123456789101112const routes = [ //..... { path: '/a/:id' // 路由 A // ...... }, { path: '/a/*' // 路由 B // ...... } // ......]
有嵌套路由,且这两类型的路由处于同一个 ...
【导航故障】当前路由 push 跳转当前路由,VueRouter 会报错
【导航故障】当前路由 push 跳转当前路由,VueRouter 会报错在实际用户使用的情况里,有当前路由 push 跳转当前路由的情况(闲着没事,重复点击)。
但这时候 VueRouter 会认为这是不对的!因为是冗余的!(有点直男)
啪!报错!
解决基于用户至上,还是要解决这个问题
123456// 解决“重复点击路由”/“当前路由跳当前路由”而报错的问题const originalPush = VueRouter.prototype.pushVueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err)}// 在 new VueRouter 之前加
上述方法是一次性捕获并抛出了所有的错误。
但是为了防止一些未知的错误未能被发现,当前还是仅仅处理 push 方法上的“重复导航”的错误。
12345678910111213141516171819202122const originalPush ...
常用 Linux 命令
文件操作cat
直接打印文件内容到终端
1cat README.md
输出:
1# Build Hexo Pages%
创建文件
1cat > doc/README.md
仅仅只能在已存在的目录下创建文件,不能在不存在的目录下创建文件。
合并文件,将 A 文件(和其他文件)内容追加到 文件 B 内容末行末尾。
若文件 B 不存在,则会被创建。
内容格式保持不变。仅被复制的文件内容之间会直接拼接。
123cat A >> Bcat A C >> Bcat README.md >> source/README.md
echo
将输入的内容输出到终端
1echo "Hello World"
示例:
12$ echo "Hello World"Hello World
将输入的内容追加到文件末尾
1echo "Hello World" >> README.md
创建文件
1echo > doc/README.md
仅仅只能在已存在的目录下创建文件,不 ...
页面布局
REM 布局动态计算 HTML 根节点字体大小 + postcss-plugin-px2rem 插件
计算根节点字体大小
public/index.html
1234567891011121314151617181920212223242526<script> function calculateSize() { let clientWidth = document.documentElement.getBoundingClientRect().width || document.documentElement.clientWidth // 750 = 设计稿最大宽度值(px) if (clientWidth >= 750) { clientWidth = 750 } // 7.5 = 设计稿最大宽度值(px)/ postcss-plugin-px2rem 插件的 rootValue 值 => 750 / 100 let htmlSize = clientWidt ...
常用 Git 命令
开始一个工作区(参见:git help tutorial)clone:克隆仓库到一个新目录
默认
1git clone <remote-url>
重命名本地仓库文件夹名
1git clone <remote-url> <new-local-folder-name>
克隆指定分支
1git clone -b <branch-name> <remote-url>
init:创建一个空的 Git 仓库或重新初始化一个已存在的仓库该命令不需要 Git Config 中的 user.name 、 user.email 。
在当前变更上工作(参见:git help everyday)add:添加文件内容至索引mv:移动或重命名一个文件、目录或符号链接Git 对文件名大小写不敏感。
如需修改文件名(包含文件类型后缀),需要这样做:
1git mv <old-file-path> <new-file-path>
将目录 A 下所有文件夹/文件移动到目录 B 下:
1234git mv <fol ...