为什么我npm下载的eslint在hbuilderX中不起作用,但是在vscode里面可以?
- 发布:2021-03-22 15:39
- 更新:2023-03-29 11:31
- 阅读:1744
请详细描述您的项目环境。
eslint使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-vue
-
miaomiao999 (作者)
我是通过hbuilderX创建的uniapp,使用的是默认模版,hbuilderX是3.1.4,安装了eslint-js和eslint-vue插件,修改eslint-vue的配置不起作用
2021-03-22 17:33
-
miaomiao999 (作者)
然后通过npm安装了eslint,eslint-plugin-prettier,eslint-plugin-vue,babel-eslint,eslint-loader,eslint-config-standard等插件,创建了.eslintrc.js,但是仍然不起作用
2021-03-22 17:36
-
miaomiao999 (作者)
module.exports = {
root: true,
env: {
browser: true,
node: true,
es6: true,
},
// 配置js全局变量,因为是uni-app,全局的uni是不需要引入的,还有5+的plus对象
globals: {
uni: 'readonly',
plus: 'readonly',
wx: 'readonly',
},
// 可根据个人喜好选择,个人比较喜欢prettier配合vs code格式化html代码,安利一波!!
extends: ['plugin:vue/essential', 'eslint:recommended'],
parserOptions: {
parser: 'babel-eslint',
ecmaVersion: 2020,
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow console during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', // allow debugger during development
// 以下为该项目自定义部分
'indent': [2, 2], //缩进风格 - 开启缩进2格
'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格 - 开启
'no-const-assign': 2, //禁止修改const声明的变量 - 开启
'space-before-function-paren': [0, 'always'], //函数定义时括号前面要有空格 - 关闭
'eol-last': 0, //文件以单一的换行符结束 - 关闭
'camelcase': 0, //强制驼峰法命名 - 关闭
'no-undef': 1, //不能有未定义的变量 - 关闭
'no-alert': 0, //禁止使用alert confirm prompt - 关闭
'arrow-parens': 0, //箭头函数用小括号括起来 - 关闭
'no-unused-vars':0,
"quotes": [2, "single"],//引号类型
eqeqeq: [
'warn',
'always',
{
null: 'ignore'
}
],
'semi': 0,
}
}
2021-03-22 17:41
我也是Hbuilderx新建的demo项目,两个插件都装了,eslint修复没反应, 【保存时自动修复】【启用实时校验】都勾选了
-
- 有关项目信息请详细说明。普通项目还是cli项目?
- eslint-vue使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-vue
eslint-js使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-js
2021-11-29 10:26
-
回复 DCloud_HB_WDL: 是HBuilderx创建的普通项目,使用Hello uni-app模板,MacOs系统:11.5.2
插件配置【保存时自动修复】和【启用实时校验】都已经开启
eslintjs配置文件内容:
// 详细配置教程请参考: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配置文件内容:
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',
//在 <template> 标签下不允许解析错误
'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',
//<template>不允许key属性
'vue/no-template-key': 'warn',
//在 <textarea> 中不允许mustaches
'vue/no-textarea-mustache': 'error',
//不允许在v-for或者范围内的属性出现未使用的变量定义
'vue/no-unused-vars': 'warn',
//<component>标签需要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
}
};
运行日志如下:
2021-11-29 15:22:10 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:22:12 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:22:19 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:22:24 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:22:27.653 [WARNING:] QObject::setParent: Cannot set parent, new parent is in a different thread
2021-11-29 15:23:52 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:23:52 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)
2021-11-29 15:23:54.540 [WARNING:] QObject::setParent: Cannot set parent, new parent is in a different thread
2021-11-29 15:26:03 [LanguageServerProcess] java.lang.NullPointerException
at com.pandora.language.LanguageServer.filterLibraries(LanguageServer.java:857)
at com.pandora.language.LanguageServer.onEvent(LanguageServer.java:1918)
at com.pandora.language.RPCHandler.execute(RPCHandler.java:507)
at com.pandora.language.PipeTransportProtocol$2.run(PipeTransportProtocol.java:116)
at java.lang.Thread.run(Thread.java:745)2021-11-29 15:33
我也遇到了找个问题,
文档上说菜点击菜单工具 -> 插件配置 -> eslint-js -> .eslintrc.js; 但是实际商工具 -> 外部命令插件配置 -> eslint-js -> 这里没有.eslintrc.js只有reade.md和package.json两个文件,我的版本是3.3.11
通过这个进去也没用
-
回复 DCloud_HB_WDL: 是的大佬,我最后转cli项目了,现在还有个问题就是使用模拟器模拟安卓场景的时候一直提示outstyle undefined
2022-03-09 16:44
wq88 - 无
有解决方案吗?
我也都按照:
- eslint-vue使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-vue
- eslint-js使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-js
代码保存时候根本没发现有校验。
DCloud_HB_WDL
eslint-vue使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-vue
eslint-js使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-js
2021-11-23 18:52
coderhhan
回复 DCloud_HB_WDL: 没用 两个插件都安装了。 没生效 保存校验 实时校验都勾选了
2021-11-23 18:56
2***@qq.com
回复 coderhhan: 你解决了吗大佬,给个方案
2022-02-16 16:51