如何在vscode中用JavaScript Standard Style风格去验证 vue文件
实际上JavaScript Standard Style有一个FAQ, 说明了如何使用。
但是有一点非常重要的作者没有提到,就是eslint-plugin-html这个插件必须要安装3.x.x版本的, 现在eslint-plugin-html, 已经升级到4.x版本,默认不写版本号安装的就是4.x版本的,所以会出现问题。
参考:详情请参考 https://www.npmjs.com/package…
此ESLint插件允许linting和修复HTML文件中包含的内联脚本。
迁移到v4
eslint-plugin-htmlv4至少需要ESLint v4.7。这是因为ESLint v4.7中发生了许多内部更改,包括支持预处理器中自动固定的新API。如果您仍在使用旧版本的ESLint,请考虑升级或继续使用 eslint-plugin-htmlv3。
eslint-plugin-htmlv4中的重要特性(和重大变化)是能够选择在同一HTML文件中的脚本标记之间共享范围的方式。
迁移到v3
如果您正在考虑升级到v3,请阅读本指南。
ESLint v4 is only supported by eslint-plugin-html v3, so you can’t use eslint-plugin-html v1.5.2 with it (I should add a warning about this when trying to use the plugin with an incompatible version on ESLint).
If you do not use ESLint v4, please provide more information (package.json, a gist to reproduce, …)
// FAQ
How to lint script tag in vue or html files?
You can lint them with eslint-plugin-html, just install it first, then enable linting for those file types in settings.json with:
{
"standard.validate": [
"javascript",
"javascriptreact",
"html"
],
"standard.options": {
"plugins": ["html"]
},
"files.associations": {
"*.vue": "html"
}
}
If you want to enable autoFix for the new languages, you should enable it yourself:
{"standard.validate": [
"javascript",
"javascriptreact",
{ "language": "html", "autoFix": true }
],
"standard.options": {
"plugins": ["html"]
}
}
1、需要安装插件:
npm i -g standard
npm i -g eslint-plugin-html@3.2.2 此处使用是3x版本
npm i -g eslint 或者 vscode 安装 eslint
2 、vscode setting 设置:
{
"standard.validate": [
"javascript",
"javascriptreact",
{
"language": "html",
"autoFix": true
}
],
"standard.options": {
"plugin": ["html"]
},
"files.associations": {
"*.vue": "html"
},
"standard.autoFixOnSave": true
}
3、vscode 相关插件 Prettier and eslint 格式化代码:
ESLint (如果全局安装了,vscode 可以不安装)
Prettier formatter
Vetur
#4 格式化代码相关设置
{
"files.autoSave": "afterDelay",
"editor.fontSize": 14,
"editor.tabSize": 2,
"eslint.autoFixOnSave": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"vue",
{
"language": "html",
"autoFix": true
}
],
"prettier.singleQuote": true,
"prettier.semi": false,
"editor.formatOnSave": true
}
5 .eslintrc.js 相关
项目根目录下创建 .eslintrc.js
module.exports = {
root: true,
env: {
node: true,
},
'extends': [
// 需要官方的 eslint-plugin-vue,它支持同时检查你 .vue 文件中的模板和脚本。请确保在你的 ESLint 配置中使用了该插件自身的配置:
'plugin:vue/essential',
// standard 代码规范 https://github.com/standard/standard/blob/master/docs/RULES-en.md
'@vue/standard'
],
rules: {
'no-new-func':0,
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
// 解决 iview 报错问题
"vue/no-parsing-error": [2, { "x-invalid-end-tag": false }]
},
parserOptions: {
parser: 'babel-eslint'
}