Node.js如何自动审核团队的代码
前言
在团队开发中,无论是写前端(js,css,html) ,还是后端 ,我们常常需要解决一个问题如何统一团队代码风格。 这篇文章主要是使用pre-git , eslint , js-beautify 实现代码风格控制。
狼蚁网站SEO优化分别介绍这三个工具和使用方式
pre-git
该工具能实现git hook的功能,在git的流程中插入一些自定义行为,例如mit之前执行代码检测,如果不通过则报错。
eslint
代码格式审核工具,可以随意组合配置各种风格,用于组成团队的代码统一规范。
js-beautiful
js代码整理、美化工具。
然后这三个工具互相配合就形成了以下效果
1.项目组长定义好eslint的代码规范。
2.使用pre-git在mit之前运行eslint代码监测和js-beautiful代码美化
3.如果通过则自动"git add ." ,允许push。
实现
一npm安装上述工具
$ npm install eslint js-beautify pre-git --save-dev
二工具的配置
在根目录新建.eslintrc.json文件,并且把规范配置好,一下给一个精简版
注意如需更多检测,请到eslint官网查看
{ "rules": { "ma-dangle": ["error", "never"], "arrow-body-style": ["warn", "always"], "no-const-assign": ["error"] }, "parserOptions": { "ecmaVersion": 6 } }
因测试,bash 中使用js-beautiful递归多层文件的时候总出现错误,所以由一脚本来进行代码美化
beatufyjs.js
const fs = require( 'fs' ); const path = require( 'path' ); const child_process = require( 'child_process' ); for( let arg of process.argv.splice( 2 ) ) { let pathName = path.join( process.cwd(),arg ); if( isFile( path.join( process.cwd(),arg ) ) ) { child_process.exec( `./node_modules/js-beautify/js/bin/js-beautify.js -P -E -j -a ${pathName} -r` , function( error, msg, stderr ) { console.log( msg.replace('\\\\n','') ); } ); } else { read_dir( pathName ); } } function read_dir( dir ){ let files = fs.readdirSync( dir ); for( let file of files ) { let pathName = path.join( dir,file ); if( isFile( pathName ) ) { child_process.exec( `./node_modules/js-beautify/js/bin/js-beautify.js -P -E -j -a ${pathName} -r` , function( error, msg, stderr ) { console.log( msg.replace( '\\\\n','') ); } ); } else { read_dir( pathName ); } } } function isFile( path ){ return exists( path ) && fs.statSync( path ).isFile(); } function exists( path ){ return fs.existsSync( path ) || path.existsSync( path ); }
三使用上述工具
在package.json文件中配置
{ "name": "demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "lint": "./node_modules/.bin/eslint routes runtime utils libs --quiet", "lint-fix": "./node_modules/.bin/eslint routes runtime utils libs --quiet --fix", "js-beautify": "node --harmony --use_strict ./bin/beatufyjs.js libs middlewares index.js " }, "author": "kelvv", "license": "ISC", "config": { "pre-git": { "mit-msg": "", "pre-mit": [ "npm run lint-fix", "npm run js-beautify", "git add ." ], "pre-push": [], "post-mit": [], "post-checkout": [], "post-merge": [] } }, "devDependencies": { "eslint": "^2.12.0", "js-beautify": "^1.6.3", "pre-git": "^3.9.1" } }
此时当你修改其中一个文件,然后"git add && git mit -m 'msg' "的时候,pre-mit中的三条命令就会执行,如果中途有错就会停止提交,修改完毕后再继续提交。
有一点需要注意的是,有的格式问题不足以报错的话,改方法会自动修改优化代码,并且自动添加修改,一步,执行git push即可!可以结合单元测试,更佳
以上就是为大家整理的如何用Node.js自动审核团队的代码的全部内容,有需要的可以进行参考学习。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程