xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

ESLint & vue

ESLint & vue

{
    "name": "app",
    "version": "1.0.1",
    "private": true,
    "description": "JT APP",
    "directories": {
        "lib": "lib"
    },
    "scripts": {
        "dev": "light release -wb ",
        "prod": "light release -p --product",
        "lint": "eslint view/**/*.{js,vue}"
    },
    "bin": {
        "testing": "testing",
        "local": "local",
        "staging": "staging",
        "product": "product",
        "app": "app",
        "dev": "dev",
        "lint": "lint"
    },
    "author": "xgqfrms",
    "license": "MIT",
    "dependencies": {},
    "devDependencies": {
        "eslint": "^5.16.0",
        "eslint-plugin-vue": "^5.2.2"
    }
}

.eslintrc


module.exports = {
    extends: [
        // add more generic rulesets here, such as:
        // "eslint:recommended",
        "plugin:vue/recommended",
    ],
    rules: {
        // override/add rules settings here, such as:
        // "vue/no-unused-vars": "error",
    }
}


$ yarn add -D eslint eslint-plugin-vue

vscode


Integrates ESLint into VS Code. If you are new to ESLint check the documentation.

The extension uses the ESLint library installed in the opened workspace folder. If the folder doesn't provide one the extension looks for a global install version. If you haven't installed ESLint either locally or globally do so by running npm install eslint in the workspace folder for a local install or npm install -g eslint for a global install.

On new folders you might also need to create a .eslintrc configuration file. You can do this by either using the VS Code command Create ESLint configuration or by running the eslint command in a terminal. 

If you have installed ESLint globally (see above) then run `eslint --init` in a terminal.
If you have installed ESLint locally then run `.\node_modules\.bin\eslint --init` under Windows,
and `./node_modules/.bin/eslint --init` under Linux and Mac.

.\node_modules\.bin\eslint --init => .\lib\node_modules\.bin\eslint --init
./node_modules/.bin/eslint --init => ./lib/node_modules/.bin/eslint --init


    "scripts": {
        "dev": "light release -wb ",
        "prod": "light release -p --product",
        "lint": "./lib/node_modules/.bin/eslint view/**/*.{js,vue}",
        "li": "./lib/node_modules/.bin/eslint --init",
        "test": "eslint view/**/*.{js,vue}"
    },
    "bin": {
        "testing": "testing",
        "local": "local",
        "staging": "staging",
        "product": "product",
        "app": "app",
        "dev": "dev",
        "lint": "lint"
    }

OK

\ 路径, 转义字符

{
    "scripts": {
        "dev": "light release -wb ",
        "prod": "light release -p --product",
        "lint": ".\\lib\\node_modules\\.bin\\eslint view/**/*.{js,vue}",
        "test": ".\\lib\\node_modules\\.bin\\eslint --init",
        "global-lint": "eslint view/**/*.{js,vue}"
    },
    "bin": {
        "testing": "testing",
        "local": "local",
        "staging": "staging",
        "product": "product",
        "app": "app",
        "dev": "dev",
        "lint": "lint"
    }
}

solution


{
    "name": "app",
    "version": "1.0.1",
    "private": true,
    "description": "JT APP",
    "author": "xgqfrms",
    "license": "MIT",
    "directories": {
        "lib": "lib"
    },
    "scripts": {
        "dev": "light release -wb ",
        "prod": "light release -p --product",
        "lint": ".\\lib\\node_modules\\.bin\\eslint view/**/*.{js,vue}",
        "test": ".\\lib\\node_modules\\.bin\\eslint --init",
        "global-lint": "eslint view/**/*.{js,vue}"
    },
    "bin": {
        "testing": "testing",
        "local": "local",
        "staging": "staging",
        "product": "product",
        "app": "app",
        "dev": "dev",
        "lint": "lint"
    }
}



ESLint rules

https://eslint.org/docs/rules

vue

https://vuejs.github.io/eslint-plugin-vue/rules/

https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules


ESLint, 0, 1, 2

https://eslint.org/docs/user-guide/getting-started

image

https://eslint.org/docs/user-guide/configuring

https://eslint.org/docs/user-guide/formatters/

solution

module.exports = {
    extends: [
        // add more generic rulesets here, such as:
        // "eslint:recommended",
        "plugin:vue/recommended",
    ],
    rules: {
        // override/add rules settings here, such as:
        "vue/no-unused-vars": "error",
        "indent": ["off", 4],
        "vue/order-in-components": "off",
        "vue/html-indent": "off",
        "vue/html-closing-bracket-spacing": "off",
        "vue/html-closing-bracket-newline": "off",
        "vue/singleline-html-element-content-newline": "off",
        "vue/html-self-closing": "off",
        "vue/attributes-order": "off",
        "vue/attribute-hyphenation": "off",
        "vue/max-attributes-per-line": "off",
        "vue/mustache-interpolation-spacing": "off",
        "vue/name-property-casing": "off",
    },
}

OK

Error & warn


posted @   xgqfrms  阅读(316)  评论(8编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2018-06-21 ES6 & React & Redux
2018-06-21 no need jQuery anymore & You don't need jQuery anymore!
2018-06-21 event duplication bind bug & h5 dataset flag solution All In One
2018-06-21 javascript & call & apply & bind & new All In One
点击右上角即可分享
微信分享提示