一个阳光的上午,新年又立了很多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 这个工具,它非常简单易用且可以在命令行运行

  1. npm run prettier -g

但是,我们往往在向构建流程中推代码之前忘记点事儿— 你意识到你在提交代码之前没有执行prettier 。或者说,你使用的VPS 没有安装prettier 等lint 工具。 这意味着你的构建流程会失败。
迁出这个Emberjs应用的仓库

你忘记格式化Ember代码成为了主要的issue,这样其他开发者读代码感觉一团乱麻,来看看下面的栗子🌰

  1. import Ember from ember’;
  2. import config from ‘./config/environment’;
  3. const Router = Ember.Router
  4. .extend( {
  5. location: config.locationType,
  6. rootURL: config.rootURL
  7. } );
  8. Router
  9. .map(function() {
  10. });
  11. export default Router;

如你所见,上面的代码看起来不是那么舒服,而你又不想每次都执行一遍npm prettier

更专业地格式化代码

有没有更简单的办法不使用任何IDE ,VsCode, IntelliJ, NetBeans, 或者 Eclipse,向 Github/GitLab/Bitbucket 提交代码前格式化代码。当然,方法如下。
先安装如下包:

  1. npm I husky prettier pretty-quick save-dev

package.json文件会添加如下:

  1. husky”: “^3.1.0”,
  2. "prettier": "^1.19.1",
  3. "pretty-quick": "^2.0.1"

最后一步,在json 中添加如下信息:

  1. scripts”: {
  2. prettier”: prettier write \‘app/*/*.js\’
  3. }
  1. "husky": {
  2. "hooks": {
  3. pre-commit”: npm run prettier && pretty-quick staged && git add .”
  4. }
  5. }

现在可以试试效果

  1. git add .
  2. git commit -m automation format
  3. // output
  4. app/adapters/application.js 42ms
  5. app/components/article-body.js 24ms
  6. app/components/article-list.js 12ms
  7. app/components/article-share-menu.js 9ms
  8. app/components/bear-list.js 17ms
  9. app/components/loader.js 8ms
  10. app/components/nav.js 8ms
  11. 🔍 Finding changed files since git revision 123456.
  12. 🎯 Found 0 changed files.
  13. Everything is awesome!
  14. On branch master
  15. Your branch is ahead of origin/master by 1 commit.
  16. (use git push to publish your local commits)

结束语

Prettier, huskypretty-quick 可以优化你的开发流程,用在提交代码前格式化JavaScript代码。