一个阳光的上午,新年又立了很多flag ,等着明年这个时候打脸,但是梦想还是要有的。19年总期待被点燃,但是像王建国说的自己可能是「湿垃圾」。 中午坐高铁启程去天津,去见见老朋友。 这篇是讲代码规范的,Prettier 检查代码规范和自动格式化代码 ,husky 是git commit 之前的一个钩子,提交代码触发 husky ,husky 执行Prettier 检查和格式化代码。虽说是Emberjs,但其实什么前端项目都能用上。原文地址:https://dev.to/shijiezhou/using-prettier-and-husky-to-make-your-emberjs-great-again-5790
无论你是在大公司,团队,还是独立工作,始终如一地保持代码一致对代码的可维护性和可读性。当然,保持代码格式统一有大量的方法,这个是标准实践,更多的开发者应该关注它。
长文警告(TL; DT)
大多数开发者都知道 Prettier 这个工具,它非常简单易用且可以在命令行运行
npm run prettier -g
但是,我们往往在向构建流程中推代码之前忘记点事儿— 你意识到你在提交代码之前没有执行prettier
。或者说,你使用的VPS 没有安装prettier 等lint 工具。 这意味着你的构建流程会失败。
迁出这个Emberjs应用的仓库
你忘记格式化Ember代码成为了主要的issue,这样其他开发者读代码感觉一团乱麻,来看看下面的栗子🌰
import Ember from ‘ember’;
import config from ‘./config/environment’;
const Router = Ember.Router
.extend( {
location: config.locationType,
rootURL: config.rootURL
} );
Router
.map(function() {
});
export default Router;
如你所见,上面的代码看起来不是那么舒服,而你又不想每次都执行一遍npm prettier
更专业地格式化代码
有没有更简单的办法不使用任何IDE ,VsCode, IntelliJ, NetBeans, 或者 Eclipse,向 Github/GitLab/Bitbucket 提交代码前格式化代码。当然,方法如下。
先安装如下包:
npm I husky prettier pretty-quick —save-dev
package.json
文件会添加如下:
“husky”: “^3.1.0”,
"prettier": "^1.19.1",
"pretty-quick": "^2.0.1"
最后一步,在json 中添加如下信息:
“scripts”: {
“prettier”: “prettier —write \‘app/*/*.js\’”
}
"husky": {
"hooks": {
“pre-commit”: “npm run prettier && pretty-quick —staged && git add .”
}
}
现在可以试试效果
git add .
git commit -m ‘automation format’
// output
app/adapters/application.js 42ms
app/components/article-body.js 24ms
app/components/article-list.js 12ms
app/components/article-share-menu.js 9ms
app/components/bear-list.js 17ms
app/components/loader.js 8ms
app/components/nav.js 8ms
🔍 Finding changed files since git revision 123456.
🎯 Found 0 changed files.
✅ Everything is awesome!
On branch master
Your branch is ahead of ‘origin/master’ by 1 commit.
(use “git push” to publish your local commits)
结束语
Prettier
, husky
和 pretty-quick
可以优化你的开发流程,用在提交代码前格式化JavaScript代码。