如何使用 eslint 禁止使用“简洁方法”

Posted

技术标签:

【中文标题】如何使用 eslint 禁止使用“简洁方法”【英文标题】:How to disallow usage of 'concise methods' using eslint 【发布时间】:2016-09-06 11:33:34 【问题描述】:

查看下面的示例代码

var Syntax = 

  /* eslint should throw error for this */
  concise () 
    console.log("Concise syntax (es6). No 'function' keyword.");
  ,

  normal: function () 
    console.log("Normal syntax.");
  

;
已尝试在 .eslintrc 配置中将es6 环境设置为falseecmaParser 选项为5。仍然没有抛出任何错误 已通过所有可用的 eslint 规则。没有匹配项。 我使用 babel-eslint 作为解析器

【问题讨论】:

【参考方案1】:

有这个 eslint 插件:https://www.npmjs.com/package/eslint-plugin-no-inferred-method-name

它似乎按照你说的做。如果您定义,它声称会引发错误:


    concise ()  ... 

但如果你这样做了不会抛出错误:


     normal: function()  ... 

要使用它首先安装:

$ npm install -g eslint-plugin-no-inferred-method-name

并添加:

"plugins": [
    "no-inferred-method-name"
],

到你的 eslint 文件。

【讨论】:

对不起.. 也试过了,没用。这个插件适合你吗? 第一个 sn-p 是第二个 sn-p 的简写。 no-inferred-method-name 将两者都视为无效,因为它们都不会在函数本身内对函数名进行词法绑定(即,您不能在 concise 内调用 concise(),也不能在 normal 内调用 normal() )。你可以试试object-shorthand,但你不能只禁止速记方法,只能禁止方法和道具。

以上是关于如何使用 eslint 禁止使用“简洁方法”的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Eslint/Prettier 在 ci 环境中出现错误和警告时失败?

如何配置 ESLint 以与 PhpStorm 一起使用以自动修复 ESLint 错误

ESLint配置

Vue--- 手动禁止ESlint

Eslint配置详解

eslint规则说明