С ростом зрелости интерфейсной разработки стандартизация кода играет большую роль в повышении эффективности разработки, включая последующее обслуживание.Унифицированные спецификации могут сэкономить время и стоимость передачи, а спецификации включают структуру каталогов, качество кода (именование, комментарии и т. д.). ., спецификация JS, спецификация CSS, отступы и т. д.)
1.eslint
Подключаемый инструмент обнаружения кода javascript, который можно использовать для проверки распространенных ошибок кода javascript и проверки стиля кода.
Используйте два пакета расширений (спецификация airbnb и eslint-plugin-vue)
-
eslint-plugin-vue (официальный плагин vue для eslint, определяет синтаксис vue)Ссылка на официальную документацию 🚀
-
Стандарт спецификации airbnb:Ссылка на официальную документацию 🚀
1.1 Как установить eslint
npm install -g eslint
1.2 Как интегрировать eslint в проект
- Способ 1: настройте eslintConfig в packjson
Правила, связанные с вышеизложенным, были скорректированы на основе пакета расширения и изменены на основе двух спецификаций в соответствии с вашими спецификациями.
-
Способ 2: вручную создать .eslintrc.js
Скопируйте содержимое eslintconfig в методе 1 в файл .eslintrc.js.
-
Способ 3: инициализировать с помощью инструмента командной строки eslint, а затем изменить .eslintrc
1.3 Как использовать
1.3.1 Добавить скриптовые команды в скрипты в packjson
- Использование в vue-cli 3
"lint":"vue-cli-service lint"
- другие методы
"lint":"eslint --ext .js,.vue src"
🙆 Обнаружение правильных подсказок🙅 Плохие подсказки
1.3.2 Как заблокировать ненужные обнаружения (например, модульные тесты, локальные макеты и т. д.)
Создать .eslintignore
1.4 Как интегрироваться в CI/CD
Ссылка сканирования кода интегрирована в ссылку развертывания, если спецификация не работает, выпуск не работает.
Добавить в Jenkinsfile
1.5 Общие правила eslint
1.5.1 Общие правила js
официальныйнажмите на меня 🚀
rules:{
"no-unused-vars": "warn", //是否支持存在未使用的变量
'no-debugger': process.env.NODE_ENV === 'production' ? 'error': 'off', //是否禁止debugger
'no-console': process.env.NODE_ENV === 'production' ? 'error': 'off', //是否禁止console.log
"no-var": "warn",
"no-eval": "warn",//禁止使用eval
}
1.5.2 Связанный с Vue (eslint-plugin-vue)
Обратитесь к официальному руководству по стилю Vue,нажмите на меня 🚀
rules:{
"vue/prop-name-casing": ["error", "camelCase"],// prop名大小写:在声明 prop 的时候,其命名应该始终使用 camelCase
"vue/name-property-casing": ["error", "PascalCase"], // JS/JSX 中的组件名应该始终是 PascalCase 的
"vue/require-prop-types": "error", // props定义尽量详细
"vue/require-v-for-key": "error", // v-for设置键值,与key结合使用
"vue/no-use-v-if-with-v-for": ["error", {
"allowUsingIterationVar": false
}], //不要把 v-if 和 v-for 用在同一个元素上
"vue/max-attributes-per-line": ["error", {
"singleline": 1,
"multiline": {
"max": 1,
"allowFirstLine": false
}
}], //多个特性的元素应该分多行撰写,每个特性一行
}
1.5.3 Включить Отключить
- "off" или 0 - выключить правило
- "warn" или 1 - включить правило, использовать предупреждения уровня ошибок: warn (не вызывает выход из программы)
- "ошибка" или 2 - включить правило, использовать уровень ошибки error:error (при срабатывании программа выйдет)
2. Prettier
Prettier — это инструмент для форматирования кода. Используется для сохранения единообразия стиля проекта команды.
2.1 Как настроить
-
Способ 1: Создайте .prettierrc в корневом каталоге
-
Способ 2. Создайте новое более красивое свойство в package.json.
//方式1
module.exports = {
"printWidth": 160, //一行的字符数,如果超过会进行换行,默认为80
"tabWidth": 2, //一个tab代表几个空格数
"useTabs": false, //是否使用tab进行缩进,默认为false,表示用空格进行缩减
"singleQuote": false, //字符串是否使用单引号,默认为false,使用双引号
“useEditorConfig”: false, // 是否使用项目中的.editorconfig文件
"semi": true, //行位是否使用分号,默认为true
"bracketSpacing": true, //对象大括号直接是否有空格,默认为true,效果:{ foo: bar }
}
2.2 Как использовать
Используйте плагин eslint-plugin-prettier, чтобы добавить prettier в качестве конфигурации правил ESLint, и запустите Prettier в ESLint.
2.2.1 Установка
Установить eslint-плагин-красивее
npm install --save-dev eslint-plugin-prettier
2.2.2 Настройка eslint
// packjson
"eslintConfig": {
"extends": [
"plugin:vue/essential",
"@vue/airbnb",
"prettier"
],
"plugins": [
"prettier"
],
"rules": {
"prettier/prettier": "error",
}
}
ps🏆: Prettier был введен в расширения и плагины соответственно, чтобы правила, настроенные eslint, не конфликтовали с правилами, настроенными Prettier.
3. Ограничения класса документов
Ограничения класса документа могут ссылаться на некоторые существующие спецификации команды.
Продолжение следует...