如何使用 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
环境设置为false
和ecmaParser
选项为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 环境中出现错误和警告时失败?