超详细!!!electron-vite-vue开发桌面应用之Electron Forge打包项目(三)

news2025/1/10 22:21:33

云风网
云风笔记
云风知识库

electronforge可将前端静态页面打包成.exe、.deb和.rpm等,能适配各种平台

一、安装依赖

cd my-app
npm install --save-dev @electron-forge/cli
npm exec --package=@electron-forge/cli -c "electron-forge import"

安装后package.json自动生成新的命令

"scripts": {
   "dev": "vite",
   "build": "vue-tsc && vite build && electron-builder",
   "preview": "vite preview",
   "start": "electron-forge start",
   "package": "electron-forge package",
   "make": "electron-forge make"
}

直接运行npm run start,报错如下

在这里插入图片描述这个报错信息表明你正在使用的 forge.config.js 文件被当作一个ES模块文件处理,因为它是一个.js扩展名的文件,并且在文件内部使用了ES模块的语法(例如 import, export 等)

解决这个问题的方法取决于你的具体需求和项目设置。以下是几种可能的解决方案:

如果你想要 forge.config.js 被当作CommonJS模块处理,你可以将文件扩展名改为 .cjs,Node.js 会默认将
.cjs 文件作为CommonJS模块处理。

如果你需要继续使用 .js 扩展名,并希望文件被当作ES模块处理,确保你的 package.json 文件中包含 “type”:
“module”,这样Node.js就会将你的项目中的 .js 文件作为ES模块处理。

如果你的项目同时包含CommonJS和ES模块,确保区分它们的文件。CommonJS模块通常是 .cjs 扩展名的,而ES模块通常是
.mjs 扩展名的。

如果你不希望更改文件扩展名,你也可以在 package.json 中设置 “type”:
“commonjs”,这样整个项目都会默认为CommonJS模块。

这里直接将forge.config.js改为forge.config.cjs,再次运行npm run start,打开出现白屏

在这里插入图片描述

(node:78116) electron: Failed to load URL: file:///D:/webPro/yunfeng/electron-vite-project/dist/index.html with error: ERR_FILE_NOT_FOUND
(Use `electron --trace-warnings ...` to show where the warning was created)

这里是由于项目前端部分没有打包,打包文件未读取到,这里改造一下命令

"scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "start": "vite build&&electron-forge start",
    "package": "vite build&&electron-forge package",
    "make": "vite build&&electron-forge make"
  }

再次运行npm run start 正常显示如下

在这里插入图片描述

执行npm run package和npm run make进行项目打包

在这里插入图片描述
这里的原因是package.json没有配置author和description

"author": "nie-ch",
"description": "云风笔记桌面端",

再次执行npm run make,生成out/make文件夹,里面存在安装包exe文件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2040582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Prostgresql的Timescaledb插件/扩展部署

背景:研发需求,需要把docker部署得postgresql迁移到新的节点并要求再本地部署,提前查看数据库需要那些插件,并进行安装,docker部署的默认有插件。 版本对比:postgresql版本对应某个Timescaledb版本 我得p…

登录过程记录

过程: 未登录状态打开我的消息页-》调用后端接口查询登录状态->后端接口从cookie里拿lt,判断是否登录-》未登录,携带页面链接(我的消息)跳转passport【单点登录服务】 登录页-》输入验证码提交后-》验证成功-》根据用户信息生成票据-》携带票据和我的…

下载 MC Minecraft Launcher 我的世界 启动器下载

下载地址: https://mc-launcher.com/wp/minecraft/ 我们下期见,拜拜!

超详细排序汇总--插入排序类,选择排序类,交换排序类,归并排序,非比较排序

博客中所有代码均在leetcode912. 排序数组中执行 (一)插入排序类 1、直接插入排序 1)思路 当插入第i(i>1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[…

“论软件体系结构的演化”写作框架,软考高级,系统架构设计师

论文真题 软件体系结构的演化是在构件开发过程中或软件开发完毕投入运行后,由于用户需求发生变化,就必须相应地修改原有软件体系结构,以满足新的变化了的软件需求的过程。体系结构的演化是一个复杂的、难以管理的问题。 请围绕“论软件体系…

【go语言】go-webview2用法(持续更新)

文章目录 背景核心接口和方法扩展接口遗憾的是 背景 目前为止,已经有很多优秀的electron应用。但其特点也很明显:使用htmlcssjs构建的布局很精致,但是体积不容小觑(最新版electron-egg打包出来的程序已经300MB)。 vs…

共享经济背景下校园、办公闲置物品交易平台-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设残哥 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目、 源…

【JAVA入门】Day20 - 正则表达式

【JAVA入门】Day20 - 正则表达式 文章目录 【JAVA入门】Day20 - 正则表达式一、正则表达式使用的注意事项1.1 一个 [ ] 匹配一个字符1.2 表示“或者”的表达式可以再用一个 [ ] 括起来1.3 &&表示“而且”1.4 ^表示“非” 二、预定义字符(只能匹配一个字符&a…

PCB结构

覆铜板(Copper Clad Laminate,CCL)是PCB(Printed Circuit Board,印制电路板)的主体,由基材和覆在其表面上的一层铜箔组成,基材通常是由增强材料(如玻璃纤维织物&#xff…

Qt 系统相关 - 事件

目录 1. 事件介绍 2. 事件的处理 示例1:处理鼠标进入和离开 示例2:当鼠标点击时,获取对应的坐标值; 3. 按键事件 3.1 单个按键 3.2 组合按键 4. 鼠标事件 4.1 鼠标单击事件 4.2 鼠标释放事件 4.3 鼠标双击事件 4.4 鼠标…

一篇文章了解上位机软件架构

软件架构 上位机基本软件架构**UI层****业务层(承上启下)****驱动层** 上位机基本软件架构 基本上所有软件都可以分为三层结构进行设计,ui界面层,中间业务逻辑层,驱动层,各个层级之间相互联系,…

汇编编译环境的安装

目录 1. 下载安装包 1.1 迅雷下载链接 1.2 Gitee下载 2. 安装 1. 下载安装包 1.1 迅雷下载链接 迅雷云盘迅雷云盘https://pan.xunlei.com/s/VO4AFFTT3ls2zGSOvFOLSP_mA1?pwdkmeh# 1.2 Gitee下载 assembler language: assembler languagehttps://gitee.com/Axurea/asse…

软考高级:数据库设计中,属性冲突、命名冲突、结构冲突

在数据库设计中,属性冲突、命名冲突和结构冲突是常见的问题,它们主要涉及不同数据源或表之间的数据整合和管理。下面我们通过通俗易懂的例子和解释来理解这些概念。 通俗示例 想象你有两家书店,它们各自维护一份图书的库存记录。 属性冲突…

高质量翻译对中国开发者提高游戏用户参与度的影响

随着中国游戏开发商继续向全球市场扩张,用户参与度成为其游戏成功的关键因素。在竞争激烈的行业中,玩家有无数选择可供选择,保持用户参与对于维持游戏的流行和增长至关重要。高质量的翻译在这一过程中起着至关重要的作用,确保游戏…

动力电池制造行业RFID产品应用方案

在全球能源转型的大背景下,新能源汽车产业蓬勃发展,动力电池作为其核心部件,其性能和质量至关重要。然而,当前国内上百家动力电池生产企业在自动化和信息化方面存在诸多不足,严重制约了行业的发展。实现动力电池的智能…

邦德创意研发的果皮咖啡,让喝咖啡也能有喝奶茶的满足感

在当下咖啡饮品市场中,果咖早已不是新鲜事物。它们以各式各样的水果与咖啡的融合,为咖啡爱好者带来新鲜的味觉体验。然而,很多果咖饮品虽色彩斑斓、风味独特,却往往止步于水果和咖啡的直接混合,未能触及更深层次的健康…

使用 onBeforeRouteLeave 组合式函数提升应用的用户体验

title: 使用 onBeforeRouteLeave 组合式函数提升应用的用户体验 date: 2024/8/14 updated: 2024/8/14 author: cmdragon excerpt: 摘要:本文介绍了在Nuxtjs中使用onBeforeRouteLeave组合式函数来提升应用用户体验的方法。onBeforeRouteLeave允许在组件离开当前路…

IDEA 创建类时自动生成注释

一、背景 在开发的过程中,公司都会要求开发针对自己创建的类进行一些描述说明,为了便于程序员在创建类时快速生成注释。 二、如何配置? 打开File -> Settings -> Editor -> File and Code Templates -> Includes,在File Header…

JavaWeb04-MyBatis与Spring结合

目录 前言 一、MyBatis入门(MyBatis官网) 1.1 创建mybatis项目(使用spring项目整合式方法) 1.2 JDBC 1.3 数据库连接池 1.4 实用工具:Lombok 二、MyBatis基础操作 2.1 准备工作 2.2 导入项目并实现操作 2.3 具…

LeetCode 热题 HOT 100 (036/100)【宇宙最简单版】【创作中】

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持!