miaomiao999
miaomiao999
  • 发布:2021-03-22 15:39
  • 更新:2023-03-29 11:31
  • 阅读:1567

eslint在hbuilderX中不起作用?

分类:HBuilderX

为什么我npm下载的eslint在hbuilderX中不起作用,但是在vscode里面可以?

2021-03-22 15:39 负责人:无 分享
已邀请:
coderhhan

coderhhan - 90hou

解决了吗?大佬,我也遇到了

  • 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

DCloud_HB_WDL

DCloud_HB_WDL

请详细描述您的项目环境。

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

  • DCloud_HB_WDL

    回复 miaomiao999: cli项目? 贴下.eslintrc.js文件

    2021-03-22 17:38

  • miaomiao999 (作者)

    回复 DCloud_HB_WDL: 不是,就是直接用hbuilderX创建的

    2021-03-22 17:39

  • 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修复没反应, 【保存时自动修复】【启用实时校验】都勾选了

  • DCloud_HB_WDL


    1. 有关项目信息请详细说明。普通项目还是cli项目?

    2. 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

  • 千真教主

    发现也不是所有的rules没有生效,保存时会把 双引号 转化为 单引号,但是没有把多余的空格去掉

    2021-11-29 15:53

2***@qq.com

2***@qq.com - 闻道者朝生夕死

好闹心啊,有没有解决方案啊,安装任何eslint插件都不管用
系统 win10
HBuilder 3.3.11.20220209

不知道咋玩了,求大佬指教

  • DCloud_HB_WDL

    请提供具体的操作步骤、以及项目信息。 或者添加HBuilderX官方QQ群:793046085,进群at管理员

    2022-02-16 16:54

  • 2***@qq.com

    回复 DCloud_HB_WDL: 好的,谢谢啦

    2022-02-16 17:40

钱鱼

钱鱼

我也遇到了找个问题,
文档上说菜点击菜单工具 -> 插件配置 -> eslint-js -> .eslintrc.js; 但是实际商工具 -> 外部命令插件配置 -> eslint-js -> 这里没有.eslintrc.js只有reade.md和package.json两个文件,我的版本是3.3.11

钱鱼

钱鱼

通过这个进去也没用

  • DCloud_HB_WDL

    js文件,写个错误的语法,没有任何提示吗?

    2022-03-03 09:59

  • 2***@qq.com

    回复 DCloud_HB_WDL: 是的大佬,我最后转cli项目了,现在还有个问题就是使用模拟器模拟安卓场景的时候一直提示outstyle undefined

    2022-03-09 16:44

  • 2***@qq.com

    回复 2***@qq.com: 当然这是另外一个问题啦

    2022-03-09 16:44

wq88

wq88 -

有解决方案吗?
我也都按照:

  • eslint-vue使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-vue
  • eslint-js使用方法参考:https://hx.dcloud.net.cn/Tutorial/extension/eslint-js
    代码保存时候根本没发现有校验。
8***@qq.com

8***@qq.com

我也是,和上面一模一样。最新版本hb。我一直以为是我没配置对,这不浪费时间么。。。

  • DCloud_HB_WDL

    提供下操作系统、HBuilderX版本号、项目信息、eslint配置信息。 或者发下QQ,我加你,了解下情况。

    2023-03-29 12:12

要回复问题请先登录注册