Hbuilderx Eslint配置
[参照链接]https://blog.csdn.net/m0_67394002/article/details/123346267
安装插件
eslint-js eslint-plugin-vue
复制配置
- eslint-js 的.eslintrc.js
// 详细配置教程请参考:http://eslint.cn/docs/user-guide/configuring
module.exports = {
'plugins': [
'html'
],
'parserOptions': {
'ecmaVersion': 2018,
'sourceType': 'module',
'ecmaFeatures': { 'jsx': true },
'allowImportExportEverywhere': false
},
'rules': {
'no-alert': 0,
'eqeqeq': ['error', 'always'], // 用强等于做判断
'semi': ['error', 'never'], // 结尾不分号
'no-multi-spaces': 'error',
'quotes': ['error', 'single'], // 使用单引号
'arrow-parens': ['error', 'as-needed'], // 简略箭头函数
'object-curly-newline': ['error', { 'multiline': true }], // 在属性内部或属性之间有换行符,就要求有换行符
'object-curly-spacing': ['error', 'always'] // 要求花括号内有空格 (除了 {})
}
}
- eslint-vue 的.eslintrc.js
module.exports = {
'extends': 'plugin:vue/essential',
'parserOptions': {
ecmaVersion: 2018,
sourceType: 'module'
},
'rules': {
'no-alert': 0,
'eqeqeq': ['error', 'always'], // 用强等于做判断
'semi': ['error', 'never'], // 结尾不分号
'no-multi-spaces': 'error',
'quotes': ['error', 'single'], // 使用单引号
'arrow-parens': ['error', 'as-needed'], // 简略箭头函数
'object-curly-newline': ['error', { 'multiline': true }], // 在属性内部或属性之间有换行符,就要求有换行符
'object-curly-spacing': ['error', 'always'], // 要求花括号内有空格 (除了 {})
//在computed properties中禁用异步actions
'vue/no-async-in-computed-properties': 'error',
//不允许重复的keys
'vue/no-dupe-keys': 'error',
//不允许重复的attributes
'vue/no-duplicate-attributes': 'warn',
//在 标签下不允许解析错误
'vue/no-parsing-error': ['error', { 'x-invalid-end-tag': false, }],
//不允许覆盖保留关键字
'vue/no-reserved-keys': 'error',
//强制data必须是一个带返回值的函数
// "vue/no-shared-component-data": "error",
//不允许在computed properties中出现副作用。
'vue/no-side-effects-in-computed-properties': 'error',
//不允许key属性
'vue/no-template-key': 'warn',
//在 中不允许mustaches
'vue/no-textarea-mustache': 'error',
//不允许在v-for或者范围内的属性出现未使用的变量定义
'vue/no-unused-vars': 'warn',
//标签需要v-bind:is属性
'vue/require-component-is': 'error',
// render 函数必须有一个返回值
'vue/require-render-return': 'error',
//保证 v-bind:key 和 v-for 指令成对出现
'vue/require-v-for-key': 'error',
// 检查默认的prop值是否有效
'vue/require-valid-default-prop': 'error',
// 保证computed属性中有return语句
'vue/return-in-computed-property': 'error',
// 强制校验 template 根节点
'vue/valid-template-root': 'error',
// 强制校验 v-bind 指令
'vue/valid-v-bind': 'error',
// 强制校验 v-cloak 指令
'vue/valid-v-cloak': 'error',
// 强制校验 v-else-if 指令
'vue/valid-v-else-if': 'error',
// 强制校验 v-else 指令
'vue/valid-v-else': 'error',
// 强制校验 v-for 指令
'vue/valid-v-for': 'error',
// 强制校验 v-html 指令
'vue/valid-v-html': 'error',
// 强制校验 v-if 指令
'vue/valid-v-if': 'error',
// 强制校验 v-model 指令
'vue/valid-v-model': 'error',
// 强制校验 v-on 指令
'vue/valid-v-on': 'error',
// 强制校验 v-once 指令
'vue/valid-v-once': 'error',
// 强制校验 v-pre 指令
'vue/valid-v-pre': 'error',
// 强制校验 v-show 指令
'vue/valid-v-show': 'error',
// 强制校验 v-text 指令
'vue/valid-v-text': 'error',
'vue/comment-directive': 0
}
}
其它兼容的设置
- 设置tab补全
工具->设置->编辑器配置->勾选 Tab键自动插入代码助手选中项
- 设置缩进长度为2
工具 -> 设置 -> 常用配置 -> 制表符长度 改为 2
- 解构赋值不将大括号换行
工具 -> 设置 -> 插件配置 -> 自定义jsbeautify格式化规则的jsbeautifyrc.js中将 “brace_style"选项添加"preserve-inline”
'brace_style': 'collapse,preserve-inline'
- 设置一个格式化的快捷键
搜索 editor.action.format
添加一个方便按的快捷键,因为HBuilderx是不支持保存时格式话的
{ "key": "alt+q", "command": "editor.action.format" }
Hbuilderx Eslint配置的更多相关文章
- Create-React-App项目外使用它的eslint配置
概述 使用Create-React-App脚手架感觉它的eslint配置有点好用,于是考虑不用Create-React-App脚手架该怎么使用这些配置. 我于是eject了Create-React-A ...
- Vue 项目中 ESlint 配置
前言 对于 ESlint 这一块一直存在一些疑问,今天看到一个文章内容挺好的,这里拿来了. 一.eslint 安装 1.全局安装 npm i -g eslint 全局安装的好处是,在任何项目我们都可以 ...
- 在项目中如何自定义的Eslint配置
一.设置js风格的缩进为4个空格 在你的前端项目中找到.eslintrc.js文件,如图 module.exports = { root: true, parserOptions: { parser: ...
- Eslint配置
//ESLint 4.5.0,参考了eslint官方以及alloyteam团队配置 module.exports = { parser: 'babel-eslint', parserOptions: ...
- vue项目中vscode格式化配置和eslint配置冲突
问题描述 使用vscode开发vue项目的时候,从远端拉下一个新的项目后,安装完依赖后跑起项目时,发现直接报了一堆语法错误:包括换行.空格.单双引号.分号等各种格式问题 因为我的 vscode 安装使 ...
- esLint 配置
默认eslint规则: 代码末尾不能加分号 ;(强迫症的我受不了)代码中不能存在多行空行:(这个我更也忍不了)tab键不能使用,必须换成两个空格:(超级不习惯)代码中不能存在声明了但未使用的变量:(这 ...
- @vue/cli 构建得项目eslint配置
如下:package.json // package.json { "name": "ecommerce-mall-front", "version& ...
- eslint 配置及规则说明
中文官方网站 安装 可以全局安装,也可以在项目下面安装. 如下是在项目中安装示例,只需要在 package.json 中添加如下配置,并进行安装: “eslint”: “^4.11.0” 配置 配置方 ...
- vue项目eslint配置 以及 解释
// https://eslint.org/docs/user-guide/configuring module.exports = { root: true, parserOptions: { pa ...
随机推荐
- 《你不知道的JS》上
- 轮播——swiper
swiper组件 1.轮播数据是使用ajax进行填充的话,可能数目是0~n,在数目是1时,轮播会出现一些问题(出现空白侧),这时需作出判断(一张图片不滑动,多张就就行滑动),方法如下(以下方法中,si ...
- Asp.Net Core 7 preview 4 重磅新特性--限流中间件
前言 限流是应对流量暴增或某些用户恶意攻击等场景的重要手段之一,然而微软官方从未支持这一重要特性,AspNetCoreRateLimit这一第三方库限流库一般作为首选使用,然而其配置参数过于繁多,对使 ...
- BUUCTF刷题记录(更新中...)
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xx ...
- while和for循环的补充与数据类型的内置方法(int, float, str)
目录 while与for循环的补充 while + else 死循环 while的嵌套 for补充 range函数 break与continue与else for循环的嵌套 数据类型的内置方法 int ...
- K8S 部署Dashboard UI
Kubernetes Dashboard是Kubernetes集群的通用.基于Web的UI.它允许用户管理集群中运行的应用程序并对其进行故障排除,以及管理集群本身. 访问到DashBoard有两种方式 ...
- Ubuntu 静默安装DEB包(非交互式)~解决Ubuntu下安装DEB包弹窗交互的问题
在Ubuntu环境下安装DEB包时,比如安装MySQL式经常会弹出交互式要输入密码的操作.有时候我们期望编写Shell脚本一键部署MySQL时不想要弹窗交互时,则可以使用以下方式实现自动化安装Deb软 ...
- C++ 获取指定的重载函数地址
刚刚看到一篇博客,说 std::bind 无法绑定正确的重载函数.这里的问题并不是 std::bind 能力不足,而是将函数名传递给 std::bind 时编译器无法取到这个函数的地址(也就是符号,编 ...
- 10个常见触发IO瓶颈的高频业务场景
摘要:本文从应用业务优化角度,以常见触发IO慢的业务SQL场景为例,指导如何通过优化业务去提升IO效率和降低IO. 本文分享自华为云社区<GaussDB(DWS)性能优化之业务降IO优化> ...
- 【Java面试】请说一下ReentrantLock的实现原理?
一个工作了3年的粉丝私信我,在面试的时候遇到了这样一个问题. "请说一下ReentrantLock的实现原理",他当时根据自己的理解零零散散的说了一些. 但是似乎没有说到关键点上, ...