一个阳光的上午,新年又立了很多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’// outputapp/adapters/application.js 42msapp/components/article-body.js 24msapp/components/article-list.js 12msapp/components/article-share-menu.js 9msapp/components/bear-list.js 17msapp/components/loader.js 8msapp/components/nav.js 8ms🔍 Finding changed files since git revision 123456.🎯 Found 0 changed files.✅ Everything is awesome!On branch masterYour branch is ahead of ‘origin/master’ by 1 commit.(use “git push” to publish your local commits)
结束语
Prettier, husky 和 pretty-quick 可以优化你的开发流程,用在提交代码前格式化JavaScript代码。
