Prefácio
No desenvolvimento da equipe, seja escrevendo front-end (JS, CSS, HTML) ou back-end, geralmente precisamos resolver um problema: como unificar o estilo de código da equipe. Este artigo usa principalmente o pré-Git, o ESLint e o JS-Beautify para implementar o controle de estilo de código.
A seguir, estão as três ferramentas e métodos de uso:
pré-Git
Essa ferramenta pode implementar a função do gancho Git, inserir alguns comportamentos personalizados no processo Git, como executar a detecção de código antes do comprometimento e, se não passar, um erro será relatado.
Eslint
Ferramenta de auditoria de formato de código, você pode combinar e configurar vários estilos à vontade e usá -la para formar as especificações de código unificado de uma equipe.
JS-Beautiful
JS Código Organização e Ferramentas de Embelezamento.
Então as três ferramentas cooperam entre si para criar os seguintes efeitos:
1. O líder do projeto define as especificações do código de Eslint.
2. Use o pré-Git para executar o monitoramento do código ESLint e o embelezamento de código JS-Beautiful antes de se comprometer
3. Se aprovado, automaticamente "add". terá permissão para empurrar.
concluir
1: NPM Instale as ferramentas acima
$ npm install eslint js-beautify pre-git --save-dev
Dois: Configuração da ferramenta
Crie um novo arquivo .eslinTrc.json no diretório raiz e configure as especificações e forneça uma versão simplificada:
Nota: Se você precisar de mais testes, visite o site oficial da ESLint
{"Regras": {"vírgula-dangle": ["erro", "nunca"], "estilo de seta-corpo": ["warn", "sempre"], "sem consumo-assign": ["error"]}, "parseroptions": {"ecmaversion": 6}}]Devido ao teste, sempre há erros ao usar arquivos de várias camadas recursivas JS-Beautiful em Bash, para que um script seja usado para embelezar o código:
beatUfyjs.js
const fs = requer ('fs'); const caminho = requer ('caminho'); const child_process = requer ('child_process'); para (deixe arg de 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); }} função read_dir (dir) {let files = fs.readdirsync (dir); para (deixe o arquivo de arquivos) {let pathname = path.join (dir, arquivo); if (isfile (pathname)) {Child_process.exec (`. } else {read_dir (pathname); }}} função isfile (path) {existe return (path) && fs.statsync (path) .isfile (); } função existe (caminho) {retorna fs.existsSync (path) || Path.ExistsSync (Path); }Três: use as ferramentas acima
Configure no arquivo package.json:
{"Nome": "Demo", "Versão": "1.0.0", "Descrição": "", "Main": "Index.js", "Scripts": {"lint": "./node_modules/.bin/eslint rotas runtime utils --chiet", "lint-fix": libs --quiet--fix "," js-beautify ":" node--harmony --se_strict ./bin/beatuffyjs.js libs Middlewares index.js "}," autor ":" kelvv "," licença ":" isc "," config ": {" pre-git "{" Commilt-":" ISC "," config ": {" pré-git "{" Lint-Fix "," NPM Run JS-Beautify "," Git Add ". ], "pré-push": [], "pós-comprometimento": [], "pós-checkout": [], "pós-merge": []}}, "devDependências": {"eslint": "^2.12.0", "js-beautify": "1.6.3", "pré-git": "3.9."No momento, quando você modifica um dos arquivos e, em seguida, "add && git Commit -m 'msg'", os três comandos no pré -compromisso serão executados. Se houver um erro no meio, o envio será interrompido e o envio será continuado após a conclusão da modificação.
Uma coisa a observar é que, se alguns problemas de formato não forem suficientes para relatar um erro, o método de modificação modificará automaticamente o código de otimização e adicionará e modificará automaticamente. Na última etapa, basta executar: git push ! Pode ser combinado com testes de unidade, melhor
Resumir
O exposto acima é todo o conteúdo de como revisar automaticamente o código da equipe usando o node.js. Se você precisar, você pode consultar.