2
嘗試使用ESLint驗證我的.js文件時,我收到了一個意外的詞法聲明(無案例聲明)錯誤。ESLint/Nodejs:由於默認切換案例導致錯誤LINTING
c:\>eslint C:\modules\myFile.js
503:17 error Unexpected lexical declaration in case block no-case-declarations
以下是我的代碼導致錯誤
switch (type) {
case String(type.match(/.*test.*/i)):
console.log('test')
break;
default:
console.log('error')
return err;
}
沒有在VS代碼顯示了這個錯誤。 當我改變我的代碼,如:
switch (type) {
case String(type.match(/.*test.*/i)):
console.log('test')
break;
/*default:
console.log('error')
return err;*/
}
所有的錯誤都消失了,所以我想它必須脫落默認情況下塊。
以下是我esLint.rc:
{
"root": true,
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "script"
},
"env": {
"node": true,
"browser": false
},
"extends": "eslint:recommended",
"rules": {
"semi": ["error", "always"],
"indent": ["error", 4, {
"VariableDeclarator": 2,
"SwitchCase": 1,
"MemberExpression": 1,
"ArrayExpression": "first"
}],
"no-mixed-requires": "off",
"no-restricted-imports": "off",
"no-undef":"off",
"no-console":2,
"no-trailing-spaces": "error",
"no-unused-vars": "warn"
}
}
這可能是什麼問題嗎?據我瞭解,默認ESLint規則有默認情況下的規則,但不是 a 沒有默認強制執行的規則。
感謝@Bradley:工作瞬間:) – BabyGroot