光标,你肿么了?怎么不见了
在编写 [a-node-tools] 的 runOtherCode 模块时,使用 process.on('exit', cursorShow)
监听事件流中断,期望在程序退出时将隐藏的光标展示出来。然而,在实际的使用中,难遂人愿。
在实际的运行中,在遇到 Ctrl + C
的这种意外事件时,触发的是 SIGINT
信号,触发了 process.on('SIGINT',()=>{})
在编写 [a-node-tools] 的 runOtherCode 模块时,使用 process.on('exit', cursorShow)
监听事件流中断,期望在程序退出时将隐藏的光标展示出来。然而,在实际的使用中,难遂人愿。
在实际的运行中,在遇到 Ctrl + C
的这种意外事件时,触发的是 SIGINT
信号,触发了 process.on('SIGINT',()=>{})
转义码主要用于控制终端的输出行为,有四个基本类别:
在 macOS 特别是 Apple Silicon (M1/M2) 设备上,Homebrew 的路径结构和符号链接机制与 Intel 芯片 Mac 不同。以下是您遇到的现象的原理详解和解决方案:
/opt/homebrew/ # ARM 版 Homebrew 主目录
├── bin/ # 全局可执行文件符号链接
├── opt/ # 实际安装的软件包
│ └── node/ # Node.js 的主程序文件
└── lib/ # 共享库和依赖
└── node_modules/ # 全局 npm 包安装目录
路径 | 作用 |
---|---|
/opt/homebrew/opt/node | Node.js 的实际安装目录 |
/opt/homebrew/bin/node | 指向实际可执行文件的符号链接 |
/opt/homebrew/lib/node_modules | 全局 npm 包的安装位置 |
在提交代码时遇见了点问题,以为只是暂时的网络问题,没太注意。知道后来提交尝试很多次,发现 ping github.com 也不通。于是,开始查找原因。
ping 可以通过发送 ICMP 协议包检测当前设备于目标服务器之间的🛜连通性。但在 DNS 被污染时,是没有办法甄别。
所以需要使用添加 IP 直连的方式,来绕过 DNS 解析。
若是频繁的为小改动,可以在推送前合并为一次提交
git rebase -i HEAD~3
上面的代码将合并最近三次的提交。
squash
,其他保持不变。这样,你的改动将会被合并为一次提交,并保留你的贡献者信息。
在项目添加单独 eslint
配置时,执行 npx eslint .
后空台台显示一个提示 package.json
缺失 type
属性。但显示并不是错误,而是提示 package.json
的 type
属性缺失,可以忽略,但建议配置 "type": "module"
。
手快的我直接在 package.json
文件中添加了该属性。
a few days later...
为了保证代码风格统一,使用 husky + lint-staged + prettier + eslint 提交代码前自动格式化代码。
当使用 husky
后,在 git commit
时:
pre-commit
钩子lint-staged
prettier
eslint
操作会自动用 Prettier 和 ESLint 格式化暂存区(git add 过的文件)的代码,并检查代码是否符合规范。格式化的改动会自动添加到本次提交,无需手动操作。
在使用命令 git tag v0.1.0 -v
时发现在展示的信息末尾包含了一句 “error: no signature found”。一检索,才发现是自己在查看 commit 标签时使用错了命令。正确应当是 git show v0.1.0
。于是捎带脚的查了下 [GPG]