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

251
Views
no se puede usar la declaración de importación fuera de un módulo en un exe integrado con electron-forge

Estoy creando una aplicación con Electron y Vue (usando js no ts). Cuando ejecuto la aplicación usando npm run electron:serve , la aplicación funciona bien.

Ahora quiero crear un exe de Windows para poder distribuir mi aplicación. He intentado usar el generador de electrones, el empaquetador de electrones y la forja de electrones. Cada vez que puedo hacer que finalice la compilación, ejecutar el exe arroja la cannot use import statement outside a module (refiriéndose a la primera declaración de import que encuentra, es decir, import { app, protocol, BrowserWindow } from 'electron' ).

Intenté agregar "type":"module" a mi paquete.json pero (debido a un error en Vue, de acuerdo con esta pregunta) , arroja Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]

También intenté cambiar todas mis declaraciones de import a require pero esto no funciona porque algunos de los módulos de nodo que estoy usando usan import y el error simplemente aparece para esos en su lugar.

Me estoy tirando de los pelos por esto. ¿A donde voy desde aqui?


ACTUALIZAR:

Encontré una solución para el error de Vue y publiqué mis hallazgos en la pregunta vinculada. Ahora puedo agregar "type":"module" a mi paquete.json.

Sin embargo, ahora aparece un error cuando ejecuto npm run electron:serve y desde mi exe integrado:

 Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: <my_project_root>\dist_electron\index.js require() of ES modules is not supported. require() of <my_project_root>\dist_electron\index.js from <my_project_root>\node_modules\electron\dist\resources\default_app.asar\main.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.

Para ser claros, no estoy usando require en ninguno de mis códigos fuente, pero la versión compilada (?) ¿Sí? ¿Que está pasando aqui?


ACTUALIZACIÓN 2:

Según lo solicitado, aquí hay un ejemplo reproducible mínimo que mantiene la estructura de carpetas original, las configuraciones y el paquete.json

about 4 years ago · Juan Pablo Isaza
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!