Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.5K
Views
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 answers
Answer question

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 Report

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 Report

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 Report

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!