跳到主要内容

提交代码前自动格式化代码

· 阅读需 2 分钟

为了保证代码风格统一,使用 husky + lint-staged + prettier + eslint 提交代码前自动格式化代码。

背景

当使用 husky 后,在 git commit 时:

  • 自动执行 pre-commit 钩子
  • 然后执行 lint-staged
  • 再执行 prettier
  • 最后执行 eslint

操作会自动用 Prettier 和 ESLint 格式化暂存区(git add 过的文件)的代码,并检查代码是否符合规范。格式化的改动会自动添加到本次提交,无需手动操作。

GPG 签名

· 阅读需 2 分钟

在使用命令 git tag v0.1.0 -v 时发现在展示的信息末尾包含了一句 “error: no signature found”。一检索,才发现是自己在查看 commit 标签时使用错了命令。正确应当是 git show v0.1.0。于是捎带脚的查了下 [GPG]

github actions

· 阅读需 4 分钟

1. 核心运行原理

GitHub Actions 是 GitHub 提供的 托管式自动化服务,其运行特点如下: • 按需创建:每次触发工作流程时,GitHub 会在其服务器集群中动态创建虚拟机实例(称为 Runner) • 环境隔离:每个 Job 都在全新的独立环境中执行,任务完成后销毁实例 • 多系统支持:提供 Linux (Ubuntu)、Windows 和 macOS 三种托管运行环境


测试覆盖率

· 阅读需 6 分钟

测试覆盖率是测试代码的质量,它表示代码被测试的百分比。

在系统学习构建 npm 包时,发现在推荐的徽章展示中包含测试覆盖率的徽章,有助于帮助用户了解代码的质量。

但是貌似遇见了我的知识盲区,遂学且记之。

npm 包其他构建

· 阅读需 8 分钟

一个基本包在构建时还需要考虑的其他方面的内容。

模块化与架构设计

模块化分割

  • 按功能划分:将核心逻辑、业务逻辑、工具函数等,分别打包到不同的模块中,方便维护和复用。
  • 支持插件系统:允许用户自定义插件,实现对不同环境、不同场景的兼容。

初用 Cloudflare Pages

· 阅读需 5 分钟

之前的 next.js 部署在自己的 个人服务器 之中,后来就想着这域名没什么辨识度,就购买了 earthnut.dev 域名,但是国内目前不接受顶级域名 .dev 的备案。

一开始想着使用 A 记录的方式绕过备案体系,于是就喜提腾讯云的“域名未备案”提示。于是使用了 CNAME 记录方式指向了域名 lmssee.com,通过在 nginx 中配置 server_name 来实现跳转,并且在实际的前后端进行配置实现接口的自由访问。

nginx 日志更新新日期

· 阅读需 3 分钟

确实,按照通常的日志轮换逻辑,我们希望在每天的某个固定时间点(如午夜)将当前日志文件重命名为包含前一天日期的文件名。这样做可以确保日志文件在一天结束时完整记录当天的访问情况,而不是在日志轮换时刻开始记录新一天的访问。

jest 的使用

· 阅读需 1 分钟

在 node 中使用 jest

安装

npm install --save-dev jest ts-jest @types/jest
npm install --save-dev jest-environment-jsdom jest-junit

mdx 相关

· 阅读需 1 分钟

description 文件描述

文件描述用于添加到文件头,展示为当前文件的 name="description" 信息