【Electron Froge】解决 linux 环境 window 包的问题

总结:安装Mono 和Wine + 脚本调整

脚本调整方案一:

json 复制代码
{
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "package:win32": "electron-forge package -p win32", // 新增
    "make:win32": "electron-forge make -p win32", // 新增
    "publish": "electron-forge publish",
    "lint": "eslint --ext .ts,.tsx ."
  }
}

脚本调整方案二:

shell 复制代码
npm run make -- --platform win32

解题思路(可选)

解决具体问题的过程中要习得方法论。

思索问题

这个问题进一步拆解,会有哪些问题?

  1. 首先要确认能否支持?
  2. 若能支持,环境如何配置?
  3. 若能支持,项目如何配置?

线索推理

步骤一:找到功能模块:生成window包的模块。

通过官网的目录结构,有两种方式来快速锁定:

  1. 阅读 Overview 来快速了解各个模块。
  2. 通过基本演绎法推理 + 阅读简介论证的方式。

细讲方式二:Makers本身最趋向于"打包"的意思,通过简介论证确实如此。

同理:Squirrel.Windows 带个"Windows"八成就是了(推理),看到生成的是exe的文件(验证)。

步骤二:确认 maker-squirrel 模块是否支持。

上面找到的文章并没有相关的线索提及。因此需要重新找资料。

这里需要用到两个重要的常识。

重要常识1:官网的API文档基本都会有对应模块的说明信息。

重要常识2:可以通过项目的链接找到该模块的README文件,里面一般有关键信息或地址。

最终你会找到关键信息:

至此前两个问题已有了明确的解决方案。

步骤三:了解项目该如何配置相关参数。

这里我走了弯路:一开始并没有从脚本参数角度去思考。在自我探索无果后开始了搜索相关博客,直到看到cli参数才点醒了我。

从官网的CLI篇可以找到了关键信息:

重要常识3:及时将博客里的关键信息结合官方文档来进行对照,一来验证方法如今是否可行,二来是建立与官方文档的认知链路。毕竟博客的迭代成本大于官网,而动机又小于官网。

至此,问题就得到了解决。

复盘进阶

吸取了CLI的教训,我大致又浏览了官网其他资料,发现guide模块有一些常见的问题,其中就包括linux环境window包的问题:(真的是蓦然回首,答案却在灯火阑珊处......)

重要常识4:在正确的指令下,好的项目对于问题有日志来引导。

针对常识2与常识5可以为开源社区做贡献:

常识2: 参与一些文档的翻译和更新工作。

常识4: 对于一些日志提示缺失,不合理等提出改进。

参考资料

Electron Froge 官网

相关推荐
ZoeLandia3 分钟前
React05:useEffect 与副作用
开发语言·前端·react.js·typescript
狮子座的男孩9 分钟前
html+css基础:24、2D变换(位移/缩放/旋转/扭曲(了解)/多重变换/变换原点)
前端·css·经验分享·html·2d位移·原点变换·缩放/旋转/扭曲
weixin_4173968319 分钟前
酒店弱电怎么验收?四个阶段与逐项检查清单
开发语言·前端·php·综合布线·弱电
风骏时光牛马19 分钟前
探索AI开源工具,解锁原生创造新体验
前端
u01110267521 分钟前
Vue 页面离开后还在轮询?统一清理计时器、监听器与观察器
前端·javascript·vue.js
大猩猩X24 分钟前
vue 表格组件 vxe-table 实现多行编辑,支持增删改查与校验
前端·javascript·vue.js·vxe-table
跨境数据猎手2 小时前
跨境电商系统三大 Web 漏洞的防护:SQL 注入、XSS、CSRF
前端·sql·xss
冒险的豆子2 小时前
Proxy & Vue 响应式(合并精简版,适合面试)
前端·javascript·vue.js
Java后端的Ai之路3 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
程序员海军9 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端