校验工具(ESLint、Stylelint)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校验工具(ESLint、Stylelint)相关的知识,希望对你有一定的参考价值。
参考技术A eslint-disable-line标识不处理ESLint规则
针对React没有使用的报错, 需要使用 eslint-plugin-react
error 'React' is defined but never used
需要配置语法解析器
parser: '@typescript-eslint/parser'
vs code 配置 stylelint eslint
安装npm插件
- npm install –save-dev eslint
- npm isntall –save-dev stylelint
- npm install –save-dev stylelint-config-standard
安装vs code的插件
- eslint
- stylelint
在项目根目录下创建文件
创建 .eslintrc.js文件
// https://eslint.org/docs/user-guide/configuring
module.exports =
root: true,
parser: 'babel-eslint',
parserOptions:
sourceType: 'module'
,
env:
browser: true,
es6: true,
amd: true,
commonjs: true
,
globals:
__HOST__: false,
BMap: false,
$: false,
Vue: false,
Vuex: false,
vueRouter: false
,
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
extends: "standard",
// required to lint *.vue files
plugins: [
'html',// eslint-plugin-html
'vue', // 全称eslint-plugin-vue
],
// add your custom rules here
rules:
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
"indent": ["error", 4, "SwitchCase": 1 ],
"quotes": ["error", "single"],
"semi": ["error", "always"],
"space-before-function-paren": ["error", "never"],
"require-jsdoc": ["error",
"require":
"FunctionDeclaration": true,
"MethodDefinition": true,
"ClassDeclaration": true,
"ArrowFunctionExpression": false
],
"valid-jsdoc": ["error",
"requireReturn": false
]
创建.eslintignore文件
//这进而的配置是在编译时过滤掉不验证的目录或文件
创建.stylelintrc文件
// 扩展第三方插件规范stylelint-config-standard
"extends": "stylelint-config-standard",
"rules":
"function-url-quotes": "always",
"indentation": 4, //缩进4位
"number-leading-zero": null,
"unit-whitelist": [
"em",
"rem",
"s",
"%",
"px",
"deg"
]
创建.stylelintignore文件
//这进而的配置是在编译时过滤掉不验证的目录或文件
vs code自定义用户配置
//"workbench.iconTheme": "vscode-icons", //工作台图标主题
// 一个制表符等于的空格数。该设置在 `editor.detectIndentation` 启用时根据文件内容进行重写。
"editor.tabSize": 4,
"editor.detectIndentation": true,
// 以像素为单位控制字号。
"editor.fontSize": 18,
// 控制终端游标是否闪烁。
"terminal.integrated.cursorBlinking": true,
// 保存时候自动格式化
"editor.formatOnSave": false,
// 让vue中的js按编辑器自带的ts格式进行格式化
"vetur.format.defaultFormatter.js": "vscode-typescript",
"vetur.validation.template": false,
// 用来进行保存时自动格式化,但是默认只支持 javascript .js 文件
"eslint.autoFixOnSave": false,
// 终端cmd字体
"terminal.integrated.fontFamily": "monospace",
// 终端cmd字号
"terminal.integrated.fontSize": 16,
// 默认格式化html使用js-beautify-html
"vetur.format.defaultFormatter.html": "js-beautify-html",
"vetur.format.defaultFormatterOptions":
"js-beautify-html":
// [auto|force|force-aligned|force-expand-multiline]
// 属性多行排列
"wrap_attributes": "auto" // vue组件中html代码格式化样式
,
"eslint.validate": [
"html",
"vue",
// 这样就能够直接支持在html和vue中自动保存成eslint风格的代码
"language": "html",
"autoFix": true
,
"language": "vue",
"autoFix": true
],
// 防止格式化代码后单引号变双引号
// "prettier.singleQuote": true,
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"files.autoSave": "off",
// "background.customImages": [
// "file:///D:/用户目录/Pictures/bg1.jpg"
// ],
// "background.useDefault": false,
// "background.style":
// "content": "''",
// "pointer-events": "none",
// "position": "absolute",
// "z-index": "99999",
// "width": "100%",
// "height": "100%",
// "background-position": "center",
// "background-repeat": "no-repeat",
// "opacity": 0.1
// ,
// gitlens配置
"gitlens.advanced.messages":
"suppressCommitHasNoPreviousCommitWarning": true,
"suppressCommitNotFoundWarning": true,
"suppressFileNotUnderSourceControlWarning": true,
"suppressGitVersionWarning": true,
"suppressLineUncommittedWarning": true,
"suppressNoRepositoryWarning": true,
"suppressResultsExplorerNotice": true,
"suppressShowKeyBindingsNotice": true
,
"workbench.startupEditor": "newUntitledFile",
"git.confirmSync": false,
"files.autoSaveDelay": 3000,
//"gitlens.historyExplorer.enabled": true,
//"terminal.integrated.rendererType": "dom",
"search.followSymlinks": false, // "easysass.compileAfterSave": true,
// "easysass.excludeRegex": "",
// "easysass.formats": [
//
// "format": "compact",
// "extension": ".css"
//
// ],
// "easysass.targetDir": "",
"css.validate": false,
"less.validate": false,
"scss.validate": true,
"prettier.tabWidth": 4 //缩进js sass; 安装vscode prettier插件
以上是关于校验工具(ESLint、Stylelint)的主要内容,如果未能解决你的问题,请参考以下文章
使用eslint+prettier+husky+lint-staged+commitlint+stylelint规范项目格式
VSCode 代码风格统一设置eslint + stylelint
VSCode 代码风格统一设置eslint + stylelint