强制 ESLint 使用 ES6
Force ESLint to use ES6
我的 ESLint 已经全部设置好并可以正常工作,但我希望它在我不使用 ES6 东西时抛出错误,例如 let
、const
或箭头函数(=>
).
.eslintrc
{
"env": {
"node": true,
"es6": true,
"mocha": true
},
"rules": {
"semi": 2
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "script",
"ecmaFeatures": {
"arrowFunctions": true,
"binaryLiterals": true,
"blockBindings": true,
"classes": true
}
}
}
目前,这不会引发错误:
main.js
var stars = [];
var speed = 20;
function setup() {
createCanvas(windowWidth, windowHeight);
// Create 1000 stars
for (var i = 0; i < 1000; i++) {
stars.push(new Star());
}
}
您没有在 for 循环中使用 i
,所以这不是错误。
您可以使用 no-var
规则,但它会影响所有内容,而不仅仅是循环。
如果您在 for 循环中使用了 i
,那么 no-loop-func
规则就是您要查找的内容。
如果您更喜欢将箭头函数作为回调函数,您可以使用 prefer-arrow-callback
.
您可以使用 prefer-arrow-callback
rule 强制使用箭头函数作为回调。
此外,prefer-const
rule 会尽可能强制使用 const
(即,如果永远不会重新分配变量)。
我的 ESLint 已经全部设置好并可以正常工作,但我希望它在我不使用 ES6 东西时抛出错误,例如 let
、const
或箭头函数(=>
).
.eslintrc
{
"env": {
"node": true,
"es6": true,
"mocha": true
},
"rules": {
"semi": 2
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "script",
"ecmaFeatures": {
"arrowFunctions": true,
"binaryLiterals": true,
"blockBindings": true,
"classes": true
}
}
}
目前,这不会引发错误:
main.js
var stars = [];
var speed = 20;
function setup() {
createCanvas(windowWidth, windowHeight);
// Create 1000 stars
for (var i = 0; i < 1000; i++) {
stars.push(new Star());
}
}
您没有在 for 循环中使用 i
,所以这不是错误。
您可以使用 no-var
规则,但它会影响所有内容,而不仅仅是循环。
如果您在 for 循环中使用了 i
,那么 no-loop-func
规则就是您要查找的内容。
如果您更喜欢将箭头函数作为回调函数,您可以使用 prefer-arrow-callback
.
您可以使用 prefer-arrow-callback
rule 强制使用箭头函数作为回调。
此外,prefer-const
rule 会尽可能强制使用 const
(即,如果永远不会重新分配变量)。