Ограничьте свои операции с git, чтобы у вас не было любви к жизни.

внешний интерфейс Git JavaScript ESLint
Ограничьте свои операции с git, чтобы у вас не было любви к жизни.

Используйте инструменты сборки Node, чтобы ограничить свои операции с git, и вам нечего будет любить.

Введение

Я видел, что мой друг написал сегодня«Спецификация Git Commit, которую вы можете игнорировать», я не могу не думать об информации об отправке, на которую я не могу смотреть прямо. Конечно, я не могу винить себя. Кто сказал мне, что я могу совершать по желанию? Некоторые связанные инструменты и спецификации был представлен в статье выше.Здесь я добавлю некоторые операции.Следующее содержание считается простым учебником для него.

2. ЭСЛинт

Поскольку мы хотим стандартизировать, конечно, мы должны начать с самой базовой спецификации кода JS.Здесь мы выбираем eslint в качестве инструмента обнаружения спецификации кода.

1. Установите ESLint
    cnpm i -g eslint
2. Установите файл конфигурации

Создайте файл .eslintrc.js в корневом каталоге.В нем много конфигураций, и конфигурации для разных окружений не одинаковы.Вы можете просмотретьОфициальная документация сайта, здесь просто настраиваем обнаружение обычных JS-файлов:

    module.exports = {
      extends: 'eslint:recommended',
      env: {
        browser: true,
        node: true,
        commonjs: true,
        es6: true,
        mocha: true
      },
      root: true,
      rules: {
        'no-console': 'off'
      }
    }
3. Проверка качества кода и спецификаций

Мы можем создать файл app.js, ввести некоторый контент и выполнить проверку с помощью следующей команды:

   eslint app.js 

Если ваш код не соответствует требованиям, консоль подскажет, в чем проблема.

На самом деле с eslint знакомы все, инструменты скаффолдинга различных проектов интегрировали его функции через webpack, поэтому при выполнении npm run dev, если код не соответствует спецификации eslint, вы не сможете завершить dev-сборку.

Но иногда, если вас это не беспокоит, просто git add и сохраните его. Теперь я знаю, что это не очень хорошая привычка, поэтому мне нужно ее изменить.

3. Хаски и корпия

Да, вы не ошиблись, это Хаски. так какHuskyСогласно официальной документации,

Git hooks made easy

Сравните жизненный цикл этого словесного хука во Vue, и вы поймете, что происходит. Итак, далее нам нужно только передать эту библиотеку, и мы можем сделать некоторые неописуемые вещи, прежде чем git add (так что вы можете внимательно вспомнить имя, оно очень тонкое).

Недостаточно иметь это, нам также нужноlint-staged, его роль также четко описана в документации:

Run linters on git staged files

1. Установите зависимости
    cnpm i -D husky@next lint-staged
2. Настройте package.json
    "lint-staged": {
      "*.js": [
        "eslint"
      ]
    },
    "husky": {
      "hooks": {
        "pre-commit": "lint-staged"
      }
    }

Далее, вы больше не сможете выполнять операцию добавления git так небрежно.

В-четвертых, валидация-фиксация-msg

Для использования этой библиотеки были подробно представлены вышеупомянутые статьи, включая некоторые справочные статьи, предоставленные спецификацией фиксации Angular. Здесь нам тоже нужно настроить его на хаски:

    "husky": {
      "hooks": {
        "pre-commit": "lint-staged",
        "commit-msg": "validate-commit-msg"
      }
    }

На этом небольшой рабочий процесс отправки нормализации кода в основном завершен.

5. Создать журнал

Конечно, если вы видели какие-то проекты с открытым исходным кодом, то в их проектах есть файл CHNAGELOG.md, этот файл в основном используется для записи информации об итерациях обновления проекта. Здесь мы можем использовать обычный журнал изменений для создания файлов журнала:

1. Установите зависимости
    cnpm i -D conventional-changelog
    cnpm i -g conventional-changelog-cli
2. Настройте package.json
    "scripts": {
      "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
      "addChangelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
    }

Затем вы можете создать полный журнал через журнал изменений npm run, при условии, что ваши коммиты соответствуют стандарту Angular Commit.

6. Пишите в конце

Вот лишь краткое введение в две ситуации обязательной верификации.На самом деле мы можем добавить и csslint в пре-коммит.Конечно, примеров должно быть больше.Друзья могут поделиться своим наболевшим опытом.


Друзья, которым понравилась эта статья, прошу обратить внимание на мой номер подпискилюблю набирать код, узнать больше.