electron-egg+react启动、打包问题(已解决)

场景:

第一次使用electron框架创建桌面端项目,朋友推荐了electron-egg框架,确实很方便,它自带的vue写法,个人用着不是很舒服,所以改用的react去创建的项目...记录一下在此期间遇到几个问题:

1、启动报错exit code 127

2、打包后的程序启动报错 Failed to load resource: net::ERR_FILE_NOT_FOUND


问题描述 & 解决

1 . 项目初始化后,启动报错 code 127

解决方案:细看electron-egg的官方文档,作者有说不推荐使用yarn、cnpm等安装,可能会有问题... 所以,最好在安装依赖时不要使用出npm以外的...

2 . 项目打包后,在out文件中找到了打包后的程序,然后打开页面白屏,显示:Failed to load resource: net::ERR_FILE_NOT_FOUND

如图可以看到显示一个js和css文件没有找到,最后发现其实就是打包的文件没找到,这个文件就是我打包的react的文件,只需要在dist文件夹中,找到这个index.html,然后将引用的文件的地方中的 '/' 改为 './',之后再在electron项目的终端重新打包就好了(记得react项目打包后,要将dist文件放入根目录下的public文件夹中后 再打包)

未改之前

xml 复制代码
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + React</title>
    <script type="module" crossorigin src="/assets/index-kmI4KZpc.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-V1Wetb5I.css">
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

改之后

xml 复制代码
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" type="image/svg+xml" href="./vite.svg" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite + React</title>
    <script type="module" crossorigin src="./assets/index-kmI4KZpc.js"></script>
    <link rel="stylesheet" crossorigin href="./assets/index-V1Wetb5I.css">
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

最后说一下如果要在electron-egg下使用react的话,最好react项目名称就叫frontend,覆盖它框架下原来的frontend项目,同时在这个新项目下的 vite.config.js 文件中添加以下代码:

(我有尝试更改成自己的项目名字,但仍有一些配置没改到,会导致项目报错,或者启动失败,所以使用了这个🙃笨方法)

javascript 复制代码
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
 
// https://vitejs.dev/config/
export default defineConfig({
	plugins: [react()],
	server: {
		port: 8080, //自定义端口
	},
});

(如果有更好的方法,欢迎大家指导、交流👏 🍀~~~)

相关推荐
我叫蒙奇1 分钟前
husky 和 lint-staged
前端
kyriewen3 分钟前
JavaScript 继承的七种姿势:从“原型链”到“class”的进化史
前端·javascript·ecmascript 6
穷鱼子酱5 分钟前
ElSelect二次封装组件-实现分页(下拉加载、缓存)、回显
前端
科科睡不着6 分钟前
拆解iOS实况照片📷 - 附React web实现
前端
前端老兵AI7 分钟前
Electron 桌面应用开发入门:前端工程师的跨平台利器
前端·electron
胖子不胖8 分钟前
浅析cubic-bezier
前端
reasonsummer13 分钟前
【办公类-133-02】20260319_学区化展示PPT_02_python(图片合并文件夹、提取同名图片归类文件夹、图片编号、图片GIF)
前端·数据库·powerpoint
胡耀超28 分钟前
Web Crawling 网络爬虫全景:技术体系、反爬对抗与全链路成本分析
前端·爬虫·python·网络爬虫·数据采集·逆向工程·反爬虫
阿明的小蝴蝶32 分钟前
记一次Gradle环境的编译问题与解决
android·前端·gradle
Ruihong34 分钟前
【VuReact】轻松实现 Vue 到 React 路由适配
前端·react.js