Предисловие
В разработке команды, независимо от того, пишет ли он фронт-конце (JS, CSS, HTML) или Back-End, нам часто нужно решить проблему: как объединить стиль кода команды. В этой статье в основном используются Pre-Git, Eslint и JS-Beautify для реализации управления стилем кода.
Ниже приведены три инструмента и методы использования:
предварительный
Этот инструмент может реализовать функцию GIT Hook, вставить некоторые пользовательские поведения в процесс GIT, такой как выполнение обнаружения кода до совершения, и если оно не пройдет, будет сообщена ошибка.
Эслинт
Инструмент аудита формата кода, вы можете объединить и настраивать различные стили по желанию и использовать его для формирования унифицированных спецификаций кода команды.
JS-Beautiful
JS -кодовая организация и инструменты благоустройства.
Затем три инструмента сотрудничают друг с другом, чтобы создать следующие эффекты:
1. Руководитель проекта определяет спецификации кода Eslint.
2. Используйте Pre-GIT для запуска мониторинга кода Eslint и благоустройства кода JS-Beautial
3. Если пройден, автоматически «git добавить». будет разрешено толкнуть.
выполнить
1: NPM Установите вышеуказанные инструменты
$ npm install eslint js-beautify pre-git --save-dev
Два: конфигурация инструмента
Создайте новый файл .ESLINTRC.JSON в корневом каталоге и настройте спецификации и дайте ему упрощенную версию:
Примечание. Если вам нужно больше тестирования, посетите официальный сайт Eslint
{"Правила": {"comma-dangle": ["error", "Never"], "стиль стрелки": ["warn", "всегда"], "без const-assign": ["ошибка"]}, «parseroptions»: {"ecmaversion": 6}}}, "parseroptions": {"ecmaversion": 6}}}}, "Из-за тестирования всегда существуют ошибки при использовании JS-Beautiful рекурсивных многослойных файлов в Bash, поэтому для украшения кода используется скрипт:
Beatufyjs.js
const fs = require ('fs'); const path = require ('path'); const child_process = require ('child_process'); for (lep 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`, функция (ошибка, msg, stderr) {console.log. msg.replace ('//// n', '')); } else {read_dir (pathname); }} функция read_dir (dir) {let files = fs.readdirsync (dir); для (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`, функция (ошибка, msg, stderr) {console. } else {read_dir (pathname); }}} функция isfile (path) {return freshist (path) && fs.statsync (path) .isfile (); } функция существует (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/utils libs-quiet", "lint-fix". -quiet-fix "," js-beautify ":" node-harmony-use_strict ./bin/beatufyjs.js libs middlewares index.js "}," Автор ":" kelvv "," Лицензия ":" isc "," config ": {" Pre-kit ": {" Commet-msg ":" ",", "n-com-kemit": ":" ",": ":" ":" ",": ":" ":" ":" ":": "": "": "": ":" ":": "": ":", "." Lint-fix "," npm запустить js-beautify "," git add ". ], "pre-push": [], "post-commit": [], "после проверки": [], "post-merge": []}}, "devdependencies": {"eslint": "^2.12.0", "js-beautify": "^1.6.3", "pre-git": "3.В настоящее время, когда вы изменяете один из файлов, а затем «git add && git commit -m" msg '"», будут выполнены три команды в предварительном количестве. Если в середине возникнет ошибка, отправка будет остановлена, и представление будет продолжаться после завершения модификации.
Следует отметить, что если некоторых проблем в формате недостаточно, чтобы сообщить об ошибке, метод модификации автоматически изменит код оптимизации и автоматически добавляет и изменяет ее. На последнем шаге просто выполните: git push ! Можно объединить с модульными тестами, лучше
Суммировать
Выше приведено все содержание того, как автоматически просмотреть код команды с помощью node.js. Если вам это нужно, вы можете обратиться к этому.