Electron + Vue3 + TS + Vite 桌面应用使用中遇到的问题
问题一 Error [ERR_REQUIRE_ESM]: require() of ES Module
App threw an error during load
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\eclipseDevelop\git\datacenter-winform\dist-electron\index.js from D:\eclipseDevelop\git\datacenter-winform\node_modules\electron\dist\resources\default_app.asar\main.js not supported.
index.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename index.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in D:\eclipseDevelop\git\datacenter-winform\package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).
at f._load (node:electron/js2c/asar_bundle:2:13330)
at loadApplicationPackage (D:\eclipseDevelop\git\datacenter-winform\node_modules\electron\dist\resources\default_app.asar\main.js:121:16)
at Object.<anonymous> (D:\eclipseDevelop\git\datacenter-winform\node_modules\electron\dist\resources\default_app.asar\main.js:233:9)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at node:electron/js2c/browser_init:2:115363
at node:electron/js2c/browser_init:2:115566
at node:electron/js2c/browser_init:2:115570
at f._load (node:electron/js2c/asar_bundle:2:13330)
处理方式
vite创建项目时package.json里有句 “type”: “module”,去掉这句就可以了
问题二 electron-builder 打包异常 Application entry file “dist\electron-main\index.js” in the “xxx\app.asar” does not exist
⨯ Application entry file "dist\electron-main\index.js" in the "F:\workspace\Vue3-Electron-Vite-TS-main\release\0.0.0\win-unpacked\resources\app.asar" does not exist. Seems like a wrong configuration.
处理方式
检查了package.json文件,发现是main对应的文件路径配置错了