ESLint不能在PyCharm中运行HTML文件

时间:2019-08-01 21:57:34

标签: javascript html pycharm eslint

我正在使用eslint作为PyCharm中的集成linter进行Django + JavaScript项目。它适用于*.js文件,但根本无法分析*.html文件中的任何JavaScript。如何也为HTML文件启用ESLint?

这是我尝试过的

我添加了eslint-plugin-html,并按照此处的设置说明进行操作:https://www.npmjs.com/package/eslint-plugin-html

这包括在PyCharm偏好设置的“语言和框架> JavaScript>代码质量工具> ESLint”中将"plugins": [ "html" ]添加到.eslintrc.js并将--ext .html,.js添加到“附加ESLint选项”输入框中

这是我的.eslintrc.js文件的样子(规则被跳过)。到目前为止,我已对ESLint vue插件进行了评论,因为据说该插件与eslint-plugin-html不兼容,这也无济于事。

module.exports = {
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": [
        "eslint:recommended",
        //"plugin:vue/essential",
        "google"
    ],
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaVersion": 2018
    },
    "plugins": [
        "html",
        //"vue"
    ],
    "rules": {
        ...
    }
};

这是我在PyCharm首选项中的ESLint设置的屏幕截图: ESLint settings in PyCharm preferences

1 个答案:

答案 0 :(得分:0)

重要的是,在我的案例中,HTML文件被用作Django模板(这是我描述的场景(即Django项目)的标准方法)。如上面comment中的 lena 所述,当前不支持linting Django模板。我对JetBrains(拥有PyCharm的公司)的正式要求也得到了同样的确认。

答案是-目前无法在PyCharm中为Django模板启用ESLint 。解决方法是将JS代码移动到其他受支持的文件类型,以使代码不被插入(例如.js或.vue文件)。

JetBrains已在其跟踪系统中打开了一个新版本,以添加缺少的支持,因此,如果此功能对您很重要,请在那里投票:ESLint: support linting JavaScript code in Django templates。另外,使用此链接获取有关是否支持此功能的最新更新