A. L.
Veo un subrayado rojo cuando uso una cadena opcional, pero el código funciona bien porque estoy en el nodo 14
Aquí está mi configuración:
node 14.1.0
eslint "^6.8.0"
.eslintrc.js
module.exports = {
"env": {
"node": true
},
"extends": [
"eslint:recommended",
],
"parserOptions": {
"sourceType": "module",
"ecmaVersion": 2020
},
"rules": {
},
}
ya no necesitas @babel/eslint-parser
como eslint@^7.5
ahora admite el cambio opcional.
Ejecute lo siguiente para actualizar eslint dentro de su proyecto:
npm
npm install --save-dev eslint@^7.5
hilo
yarn add -D eslint@^7.5
Y luego, asegúrese de que su configuración sea la siguiente:
.eslintrc
{
"parserOptions": {
"ecmaVersion": 2020
}
}
.eslint.js
module.exports = {
"parserOptions": {
"ecmaVersion": 2020
}
}
Ver https://eslint.org/blog/2020/07/eslint-v7.5.0-released#opcional-cadena-soporte para más información.
-
Esta es la respuesta correcta más actualizada a partir de 2020
– Chris
25 de noviembre de 2020 a las 21:39
dan starns
Deberías usar @babel/eslint-parser
(anteriormente llamado babel-eslint
) con su configuración de eslint. Esto le permite litear TODO el código válido de Babel con eslint. eslint es compatible con todas las funciones de ES2020 a partir de la versión v7.2.0
$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D
Entonces en tu .eslintrc
hacer:
{
parser: "@babel/eslint-parser",
}
-
¿El encadenamiento opcional no está incluido en el eslint normal?
– A. L.
6 de mayo de 2020 a las 8:05
-
@A.Lau no que yo sepa
– Dan Starns
6 de mayo de 2020 a las 8:12
-
Desafortunadamente aún no. Hay un borrador sobre la compatibilidad con algunas de las funciones de sintaxis de es2020, el encadenamiento opcional es una de ellas. Puede leerlo aquí: github.com/eslint/eslint/pull/13196
– Tzahi Leh
21 de mayo de 2020 a las 8:30
-
¿A dónde va esa clave del analizador?
package.json
en “eslintConfig”?– bot19
1 oct 2020 a las 7:00
-
@ bot19 intente ponerlo en la raíz de la configuración de eslintrc aquí está dentro
.eslintrc.js
– Dan Starns
1 de octubre de 2020 a las 7:02
Zelinskyi Bohdan
Todas las versiones de Node.js anteriores a la 12 admiten el operador de encadenamiento opcional (una característica de ECMAScript 2020). Intenta usar esto:
"parserOptions": {
"ecmaVersion": 2020
}
Primero, debe tener un analizador ESLint que admita el encadenamiento opcional:
npm install -D @babel/eslint-parser
Si tiene problemas con las dependencias entre pares, ejecute agregando --legacy-peer-deps
al mando.
Luego, debe tener la versión de ESLint que admita el encadenamiento opcional. Este es esa versión de lanzamiento (7.5.0):
npm install eslint@^7.5
Dígale a su servidor ESLint que use el analizador instalado anteriormente:
{
"parserOptions": {
"ecmaVersion": 2020
}
...
}
petirrojo
No todas las funciones de JavaScript habilitadas por Babel están incluidas en ESLint.
Puedes usar babel-eslint aunque:
$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D
Entonces en tu .eslintrc
hacer:
{
parser: "@babel/eslint-parser",
}
si coloca el cursor sobre el error, ¿qué mensaje de error obtiene?
– Amigo Cristo
6 de mayo de 2020 a las 6:47
@peprumo
Parsing Error: Unexpected token .
imagen añadida– A. L.
6 de mayo de 2020 a las 7:01