UNPKG

rerumaccusamus

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

64 lines (43 loc) 2.36 kB
--- title: 命令行中的自动修复 --- 提交前的自动准入检查,跟 VSCode 里的保存一样,会尽可能自动格式化代码和修复问题,只有遇到无法自动修复的问题,才会报错阻止提交。 我们添加一段可自动修复的问题代码(如果在 VSCode 里添加,保存时会自动修复,所以用 CLI 来添加): ```bash echo ';' >> src/App.jsx ``` 打开 `App.jsx`,可以看到末尾多了一个 ';',有问题提示。 提交代码: ```bash git commit -am "test: 再次测试准入检查" git status ``` 可以看到虽然仍然提交失败,但新增的问题被自动修复了。 手动把参数 a 的问题修复(删除 a),再次添加 ';',提交代码: ```bash echo ';' >> src/App.jsx git commit -am "test: 再次测试准入检查" git log HEAD --stat --graph --name-status ``` 可以看到提交成功了,新增的问题被自动修复,并且自动被 stage。 :::note 在真实项目的开发中,对于以下情况,可以在提交时增加 -n --no-verify 参数,破例跳过准入检查: 1. Hotfix 2. merge 过程中解决了冲突,变更的文件里包含别人的代码 3. 旧项目迁移到 Modern.js,最初做统一自动修复的提交 ::: 提交前的自动准入检查,只会检查和修复这次提交中有变更的文件(已经 stage 的文件),也就是说,只会强制要求这次工作过程中修改过的文件没有问题,不会要求你去解决这次工作无关的文件的问题。 如果要对整个仓库的所有文件做 lint 检查和自动修复,可以手动执行 `lint` 命令,比如: ```bash echo ';' >> src/App.jsx pnpm run lint ``` :::note 上述命令速度慢,不常用。旧项目刚迁移到 Modern.js 框架的时候,可以用这个命令对所有代码做一次自动修复,单独提交。 ::: 本章节中,我们完成了编程环境的初始化和检查,熟悉了相关功能。下一章节开始,我们就可以开始写代码了。 :::note Modern.js 是用 [Modern Lint](/docs/guides/usages/eslint) 规则集来实现上述能力, 集成了 ESLint、TypeScript 支持、Prettier 等主流工具和最佳实践。 ::: --- > 本章节的代码可以在[这里查看](https://github.com/modern-js-dev/modern-js-examples/tree/main/tutorials/c03/hello-modern)。