Uso node.js 12.3.0 e instalé eslint 7.0.0 por npm. Así que escribí el .eslintrc.js como a continuación.
module.exports = { "env": { "commonjs": true, "es6": true, "node": true }, "globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" }, "parserOptions": { "ecmaVersion": 12 }, "rules": { "semi": ["error", "always", {"omitLastInOneLineBlock": true }], "no-shadow-restricted-names" : "error", "no-unused-vars": ["warn", { "vars": "all" }], "no-redeclare": ["error", { "builtinGlobals": true }], "no-use-before-define": ["error", { "functions": true, "classes": true, "variables": true }] } };Como saben, ya agregué "no-use-before-define" pero no funcionó. Todas las demás reglas de eslint funcionan bien, pero solo "no-use-before-define" no verificó nada.
Aquí está mi archivo js de ejemplos.
let c = qwertqwert(); //As you know qwerqwert is not defined. I want to check this. a = 123123; //I don't want to allow assign any value to variable before declaration. b = asdfafasfdasdfas; //Also i need to check any undefined variable or functions are used.¿"no-use-before-define" puede verificar esto?
Parece que solo puedo verificar cuando uso la variable o función antes de definir o declarar.
Func(); //I use(call) first. //But the define statement is after. function Func() { return 10; }El código anterior había sido verificado bien por eslint pero no tiene sentido. Porque quiero dejar que eslint verifique el uso de funciones o valores indefinidos.
si define que eslint debe mostrar el error, debe escribir una regla como
si no desea la regla, puede eliminarla u omitir la regla por archivo
"no-use-before-define": [ "error", { "functions": false, "classes": false, "variables": false } ],NOTA: estoy usando la extensión de airbnb
extends: [ 'airbnb-base',],
esto funciona para mi
nodo js: - 14.17.6
eslint :- 7.12.1+