ESLint抛出Expected method shorthand错误,求Vue-cli&VSCode环境下的解决方案
解决ESLint的「Expected method shorthand (object shorthand)」错误
嘿,这个问题我之前也碰到过,挺容易搞定的!先给你理清楚:这个错误是ESLint的object-shorthand规则在起作用——它要求你在对象里定义方法时使用更简洁的ES6简写语法,而不是老派的function声明写法。
下面给你几个可行的解决办法,按需选择就行:
1. 修改代码符合ESLint规范(推荐)
这是最贴合代码规范的做法,直接把你的方法写法改成ES6简写形式:
- 原来的写法(会触发报错):
const myObj = { handleClick: function() { // 你的业务代码 } }
- 修改后的正确写法:
const myObj = { handleClick() { // 你的业务代码 } }
2. 调整ESLint规则,关闭或降低检查等级
如果你不想改代码(比如跟着教程走,教程里用的是老写法),可以修改项目里的ESLint配置:
- 找到项目根目录下的
.eslintrc.js(或者.eslintrc)文件 - 定位到
rules配置项,添加或修改这条规则:
module.exports = { // 其他配置内容... rules: { // 关闭该规则,或者设为"warn"只显示警告不阻断运行 "object-shorthand": "off" } }
- 保存配置后,重启VSCode或者重新加载ESLint插件,错误就会消失了。
3. 临时禁用单行的ESLint检查
如果只是某一行代码不想调整,可以在该行上方加注释临时禁用该规则:
// eslint-disable-next-line object-shorthand const myObj = { handleClick: function() { // 你的业务代码 } }
另外补充下,你用的vue-cli 2.9.3默认集成的ESLint规则大概率是继承了Standard或者Airbnb这类规范,所以会严格要求语法简洁性。根据自己的需求选对应的解决方式就好啦!
内容的提问来源于stack exchange,提问作者Arunabh Das
相关产品推荐
相关产品推荐

