iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js如何自动审核团队的代码
  • 294
分享到

Node.js如何自动审核团队的代码

团队代码Node 2022-06-04 17:06:27 294人浏览 八月长安
摘要

前言 在团队开发中,无论是写前端(js,CSS,html) ,还是后端 ,我们常常需要解决一个问题:如何统一团队代码风格。 这篇文章主要是使用pre-git , eslint , js-beautify 实

前言

在团队开发中,无论是写前端js,CSS,html) ,还是后端 ,我们常常需要解决一个问题:如何统一团队代码风格。 这篇文章主要是使用pre-git , eslint , js-beautify 实现代码风格控制。

下面分别介绍这三个工具和使用方式:

pre-git

工具能实现git hook的功能,在git的流程中插入一些自定义行为,例如commit之前执行代码检测,如果不通过则报错。

eslint

代码格式审核工具,可以随意组合配置各种风格,用于组成团队的代码统一规范。

js-beautiful

js代码整理、美化工具。

然后这三个工具互相配合就形成了以下效果:

1.项目组长定义好eslint的代码规范。

2.使用pre-git在commit之前运行eslint代码监测和js-beautiful代码美化

3.如果通过则自动"git add ." ,最后允许push。

实现

一:npm安装上述工具

$ npm install eslint js-beautify pre-git --save-dev

二:工具的配置

在根目录新建.eslintrc.JSON文件,并且把规范配置好,一下给一个精简版:

注意:如需更多检测,请到eslint官网查看


{
  "rules": {
    "comma-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": {
   "commit-msg": "",
   "pre-commit": [
    "npm run lint-fix",
    "npm run js-beautify",
    "git add ."
   ],
   "pre-push": [],
   "post-commit": [],
   "post-checkout": [],
   "post-merge": []
  }
 },
 "devDependencies": {
  "eslint": "^2.12.0",
  "js-beautify": "^1.6.3",
  "pre-git": "^3.9.1"
 }
}

此时当你修改其中一个文件,然后"git add && git commit -m 'msg' "的时候,pre-commit中的三条命令就会执行,如果中途有错就会停止提交,修改完毕后再继续提交。

有一点需要注意的是,有的格式问题不足以报错的话,改方法会自动修改优化代码,并且自动添加修改,最后一步,执行:git push即可!可以结合单元测试,更佳

总结

以上就是为大家整理的如何用node.js自动审核团队的代码的全部内容,有需要的可以进行参考学习

--结束END--

本文标题: Node.js如何自动审核团队的代码

本文链接: https://www.lsjlt.com/news/13018.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 遵循PSR2和PSR4规范的PHP团队协作流程和代码审查机制
    概述:在一个PHP团队中,为了提高代码的可读性、可维护性和可扩展性,遵循PHP代码规范是非常重要的。本文将介绍如何遵循PSR2和PSR4规范来建立一个高效的PHP团队协作流程和代码审查机制,并提供一些具体的代码示例。一、PSR2规范PSR2...
    99+
    2023-10-21
    代码审查 PSR规范 关键词:PSR规范
  • ASP存储和Git:如何在团队中提高代码质量?
    随着团队协作的普及,如何提高代码质量成为了一个重要的问题。在ASP开发中,如何使用Git版本控制系统来管理代码,使团队更加高效协作,也成为了重要的议题。本文将为你介绍ASP存储和Git的基本概念,并通过演示代码来展示如何在团队中提高代码质...
    99+
    2023-08-25
    存储 django git
  • 如何进行C++代码的代码审查?
    如何进行C++代码的代码审查?代码审查是软件开发过程中非常重要的一环,它能够帮助开发团队识别并纠正潜在的错误,提高代码质量,减少后续维护和调试的工作量。对于C++这样的强类型静态语言来说,代码审查尤为重要。下面将介绍一些关键步骤和注意事项,...
    99+
    2023-11-02
    编程 C++ 代码审查
  • 自媒体团队账号如何管理?可屏蔽收益、账号密码
    随着品牌力量不断被大家重视,2016年以来,视频文化领域分外火热,其人人都可申请入驻、购买转化率可观等特点,于是慢慢吸引了互联网人,正是因为想得到更加充足的内容展现,人们经常会用到所有平台。只不过当我们的账...
    99+
    2024-04-02
  • PHP Git 实战:如何利用 Git 提高代码质量和团队效率?
    git 是一个分布式版本控制系统,可帮助管理代码更改并协作开发。它允许跟踪更改、与其他人合作并合并分支。此外,还提供了代码审查、自动化部署和回滚更改的功能,以提高代码质量和团队效率。 ...
    99+
    2024-05-13
    php git 本地仓库
  • node.js代码是如何运行的
    这篇文章主要介绍了node.js代码是如何运行的的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node.js代码是如何运行的文章都会有所收获,下面我们一起来看看吧。   vu...
    99+
    2024-04-02
  • Ubuntu如何自动运行java代码
    Ubuntu自动运行java代码的示例。下载/etc/rc.local文件到本地。打开rc.local文件进行编辑,内容如下:# 配置环境变量export JAVA_HOME=/usr/jvm/jdk1.8.0_161export CLAS...
    99+
    2024-04-02
  • 使用Brainstorm框架如何激发团队成员的激情和动力
    设定明确的目标和任务:在Brainstorm框架中,首先要确立明确的目标和任务,让团队成员清楚自己的工作重点和方向,这样可以激发团...
    99+
    2024-03-11
    Brainstorm
  • Python自动化脚本代码如何写
    这篇文章主要讲解了“Python自动化脚本代码如何写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python自动化脚本代码如何写”吧!1、自动化阅读网页新闻这个脚本能够实现从网页中抓取文本...
    99+
    2023-07-06
  • Dreamweaver代码如何实现自动排版
    小编给大家分享一下Dreamweaver代码如何实现自动排版,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对于这样的代码是不是很头疼?如果自己慢慢排版的话也会浪费...
    99+
    2023-06-08
  • 如何使用PM2自动部署代码
    这篇文章将为大家详细讲解有关如何使用PM2自动部署代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。0x01 环境条件本地环境:window10的...
    99+
    2024-04-02
  • php如何实现代码自动执行
    本文小编为大家详细介绍“php如何实现代码自动执行”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何实现代码自动执行”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、PHP的自动执行功能PHP提供了多种方...
    99+
    2023-07-06
  • PHP/EclipsePHP如何实现代码自动提示
    这篇文章主要为大家展示了“PHP/EclipsePHP如何实现代码自动提示”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP/EclipsePHP如何实现代码...
    99+
    2024-04-02
  • 如何使用Jenkins自动部署Git代码
    Jenkins是一个流行的开源自动化服务器工具,可以用于持续集成和持续部署应用程序。通过Jenkins,可以轻松地自动化测试,构建和部署代码。在这篇文章中,我们将学习如何使用Jenkins自动部署Git代码。准备工作:安装Jenkins在本...
    99+
    2023-10-22
  • 如何解决Dreamweaver代码不自动提示的问题
    这篇文章给大家分享的是有关如何解决Dreamweaver代码不自动提示的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Dreamweaver代码不自动提示的问题,不论是HTML还是CSS,在网上搜索了半天,大...
    99+
    2023-06-08
  • VSCode如何配置C/C++代码自动补全
    今天小编给大家分享一下VSCode如何配置C/C++代码自动补全的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。第一步:需要下...
    99+
    2023-07-04
  • golang中如何使用air自动重载代码
    小编给大家分享一下golang中如何使用air自动重载代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Air能够实时监听项目的代码,在代码发生更变之后自动重新编...
    99+
    2023-06-14
  • SpringAOP如何自定义注解实现审计或日志记录(完整代码)
    目录环境准备项目结构自定义审计注解定义切面类定义返回值处理基类定义返回值处理子类定义功能模块类定义操作类定义审计信息实体类书写mapper文件开启AOP拦截注解配置总结环境准备 JD...
    99+
    2022-12-28
    Spring AOP 自定义注解 自定义注解实现审计 注解实现日志记录
  • Jupyter Notebook如何实现代码格式自动补全
    这篇文章将为大家详细讲解有关Jupyter Notebook如何实现代码格式自动补全,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码格式自动补全有时jupyter no...
    99+
    2024-04-02
  • PHPStorm如何实现自动执行代码格式化
    这篇文章主要介绍了PHPStorm如何实现自动执行代码格式化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHPStorm如何实现自动执行代码格式化文章都会有所收获,下面我们一起来看看吧。在我们日常开发中,一定...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作