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

总结:安装MonoWine + 脚本调整

脚本调整方案一:

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 官网

相关推荐
FIRE19 分钟前
uniapp小程序分享使用canvas自定义绘制 vue3
前端·小程序·uni-app
四喜花露水20 分钟前
vue elementui el-dropdown-item设置@click无效的解决方案
前端·vue.js·elementui
jokerest12342 分钟前
web——sqliabs靶场——第五关——报错注入和布尔盲注
前端
谢尔登1 小时前
前端开发调试之 PC 端调试
开发语言·前端
每天吃饭的羊1 小时前
在循环中只set一次
开发语言·前端·javascript
_默_4 小时前
adminPage-vue3依赖DetailsModule版本说明:V1.2.1——1) - 新增span与labelSpan属性
前端·javascript·vue.js·npm·开源
也无晴也无风雨6 小时前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
Martin -Tang6 小时前
Vue 3 中,ref 和 reactive的区别
前端·javascript·vue.js
FakeOccupational8 小时前
nodejs 020: React语法规则 props和state
前端·javascript·react.js
放逐者-保持本心,方可放逐8 小时前
react 组件应用
开发语言·前端·javascript·react.js·前端框架