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

1.5K
Vistas
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: el cargador de ESM predeterminado solo admite URL de archivos y datos: Vue 3

Recibo el siguiente error cuando quiero iniciar mi proyecto mecanografiado vue 3:

 ERROR Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:' Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:' at new NodeError (node:internal/errors:371:5) at defaultResolve (node:internal/modules/esm/resolve:1016:11) at ESMLoader.resolve (node:internal/modules/esm/loader:422:30) at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40) at ESMLoader.import (node:internal/modules/esm/loader:276:22) at importModuleDynamically (node:internal/modules/cjs/loader:1041:29) at importModuleDynamicallyWrapper (node:internal/vm/module:437:21) at importModuleDynamically (node:vm:381:46) at importModuleDynamicallyCallback (node:internal/process/esm_loader:35:14) at loadFileConfig (C:\Projects\backify-ui\documentation\node_modules\@vue\cli-service\lib\util\loadFileConfig.js:28:7)

Este error ocurre desde que cambié el nombre de mi vue.config.js a vue.config.mjs . Lo curioso es que este proyecto funciona a través de gitpod.io pero no en phpstorm y vscode.

Mi vue.config.mjs:

 import rehypeHighlight from "rehype-highlight"; export default { chainWebpack: (config) => { config.module .rule("mdx") .test(/\.mdx?$/) .use("babel-loader") .loader("babel-loader") .options({ plugins: ["@vue/babel-plugin-jsx"] /* Other options… */ }) .end() .use("@mdx-js/loader") .loader("@mdx-js/loader") .options({ jsx: true, rehypePlugins: [rehypeHighlight] /* otherOptions… */, }) .end(); }, };
over 4 years ago · Santiago Trujillo
6 Respuestas
Responde la pregunta

0

Eso en realidad es un error.

Mira, usan la función import() en una cadena, que es el resultado de la llamada path.resolve() . Como ya habrás notado, la función import() solo funciona con las URL file:// y data:// , pero path.resolve() solo devuelve una ruta absoluta (no una URL), que en el entorno de Windows generalmente comienza con el nombre del disco local (p. ej., C: ).

over 4 years ago · Santiago Trujillo Denunciar

0

Mi problema es que mi versión de Node.js es demasiado baja. Actualizar a Node.js 16 resolvió el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

¡He encontrado una posible solución!

Como señala @Dima Parzhitsky, esto parece ser un error en Vue. La parte de Vue que contiene ese error es el cargador del archivo de configuración vue.config.js (o .mjs / .cjs ). Sin embargo, Vue en realidad ofrece otra opción, puede mover la configuración a un bloque "vue":{ ... } dentro de package.json .

Sin embargo, según Vue Docs , esto lo limitará solo a valores compatibles con json y dado que su configuración usa funciones, esta podría no ser una opción para usted (a menos que pueda encontrar una manera de lograr el mismo resultado de una manera compatible con json) )

Sin embargo, para aquellos que ven esto y tienen valores compatibles con json, aquí hay un ejemplo de mi propio proyecto para que sepan cómo debería verse:

vue.config.js original (asegúrese de eliminar este archivo):

 module.exports = { pluginOptions: { electronBuilder: { mainProcessFile: 'src/main/background.js', rendererProcessFile: 'src/renderer/main.js', externals:['node-pty'], }, }, css: { loaderOptions: { sass: { additionalData: `@import "@/renderer/assets/globals.scss";` } } } };

movido dentro package.json :

 "vue": { "pluginOptions": { "electronBuilder": { "mainProcessFile": "src/main/background.js", "rendererProcessFile": "src/renderer/main.js", "externals":["node-pty"] } }, "css": { "loaderOptions": { "sass": { "additionalData": "@import '@/renderer/assets/globals.scss';" } } } }
over 4 years ago · Santiago Trujillo Denunciar

0

Todo parece ser un error con la configuración actual de vue cli y la versión de node.js. Para obtener más información, consulte el comentario de @Dima Parzhitsky y @Zhang Buzz.

La mejor solución para mí fue simplemente usar @vue/cli@5.0.0-beta.7 en combinación con el nodo v16.12.0 .

También uso un vue.config.mjs en lugar de vue.config.js

Otra solución podría ser mover todo al paquete.json, más sobre esto en el comentario de @James Batchelor (pero no lo probé)

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar pero con el administrador de procesos del nodo pm2. Estoy tratando de ejecutar una aplicación nodejs en modo clúster, pero siempre termina con el mismo código de error [ERR_UNSUPPORTED_ESM_URL_SCHEME] . Esta publicación es el resultado principal de Google al buscar mi problema, por lo que dejar mi método para resolverlo podría ser útil para alguien.

La solución es instalar Windows Subsystem for Linux (WSL)

Esto le permite ejecutar nodejs en Linux, donde se puede evitar el error anterior ya que el esquema de URL se aceptaría allí. Observe el mensaje de error: Only file and data URLs are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve este problema hace un par de días. Acabo de actualizar node.js a la versión 16.13.1 y problema resuelto.

over 4 years ago · Santiago Trujillo 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