Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

299
Vistas
"Error de análisis: Importación de token inesperada" al acceder a import.meta.url (Cloud9 IDE)

Con el siguiente código node.js:

 import { fileURLToPath } from 'node:url'; import path from 'node:path'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(fileURLToPath(import.meta.url));

Veo el siguiente error de pelusa relacionado con la referencia import.meta.url :

ingrese la descripción de la imagen aquí

Este fragmento es para replicar __filename y __dirname en ESM según la guía de node.js. Se da el mismo error cuando se usa import.meta.url de la siguiente manera... que también se encuentra en la guía oficial :

 import { readFileSync } from 'fs'; const buffer = readFileSync(new URL('./data.proto', import.meta.url));

He mirado esto pero no resuelve mi problema. Esto está específicamente dentro del IDE de Cloud9... no el AWS Cloud9 actual, sino un Cloud9 autohospedado basado en este repositorio (actualizado por última vez hace 4 años). La única guía de (AWS) Cloud9 está en esta página :

ingrese la descripción de la imagen aquí

Puedo hacer que ciertas reglas básicas funcionen usando este archivo .eslintrc , por ejemplo

 { rules: { semi: ["error", "never"] } }

ingrese la descripción de la imagen aquí

Entonces sé que el archivo de configuración está surtiendo efecto en el IDE. Pero no puedo ver la regla apropiada para deshabilitar el error de "importación de token inesperada".

EDITAR: lo siguiente parece relevante, pero no puedo determinar si alguna vez realmente llegó a una conclusión:

https://github.com/eslint/eslint/issues/12518

https://github.com/eslint/eslint/pull/13196

https://github.com/eslint/eslint/issues/13133

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esta es en realidad una conjetura, ya que no estoy usando el IDE de Cloud9. Si se reconoce su archivo .eslintrc, lo que necesita agregar allí son las opciones de analizador adecuadas, por ejemplo:

 { "parserOptions": { "ecmaVersion": 2020, "sourceType": "module" }, "rules": { "semi": ["error", "never"] } }

El motivo es que el analizador ESLint trata de forma predeterminada todas las fuentes de JavaScript como scripts ES5, mientras que la sintaxis import.meta solo se permite en módulos desde ECMAScript 2020.

Actualizar

La configuración "ecmaVersion": 2020 es compatible con ESLint 6 en adelante. Otra opción para que se reconozca import.meta es usar un analizador personalizado como Babel. Los paquetes a instalar para el analizador de Babel son @babel/core y @babel/eslint-parser . Y las configuraciones relevantes en .eslintrc están aquí:

 { "parser": "@babel/eslint-parser", "parserOptions": { "ecmaVersion": 2020, "requireConfigFile": false },

Nota: No pude averiguar qué versiones de ESLint son compatibles con el analizador de Babel en la documentación de su repositorio (enlace anterior). Solo puedo ver en el código que ESLint 7 y 8 son compatibles. Si la versión actual de Babel no funciona con su versión de ESLint, es posible que deba intentar instalar versiones anteriores y ver si funcionan. Y en ese caso, es posible que se requiera un complemento adicional como syntax-import-meta .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda