问题
我想把 regex101 封装成本地应用,于是装了 Nativefier ,但是用 nativefier 'regex101.com'
这个命令生成本地应用后,打开该应用,弹窗报如下错误
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Image could not be created from /Users/apple/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript-darwin-x64/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript.app/Contents/Resources/app/icon.png
at Object.createMainWindow (/Users/apple/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript-darwin-x64/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript.app/Contents/Resources/app/lib/webpack:/src/components/mainWindow.ts:105:22)
at App.<anonymous> (/Users/apple/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript-darwin-x64/Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript.app/Contents/Resources/app/lib/webpack:/src/main.ts:149:18)
at App.emit (events.js:223:5)
办法
从弹窗可以看出错误是由 icon.png 文件创建失败引起的。
所以,只要在报错的路径上补上这个生成失败的文件即可。下面来看具体操作:找到用 Nativefier 生成的软件的文件夹,并打开,比如我现在生成的软件文件夹是 Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript-darwin-x64,打开它;然后找到以 .app 为后缀的文件,比如我的是 Online regex tester and debugger PHP, PCRE, Python, Golang and JavaScript.app,选中它,右键后,点击显示包内容;依次进入 Contents –> Resources,找到后缀为 .icns 的图片,把它转换成 .png 格式的图片的同时保留原文件,可以用 cloudconvert 这个网站来转换,也可以自己找其他的网站,能把 .icns 文件转换 .png 文件就行;最后,把这个转换过的 .png 重命名为 icon.png 后,放入当前路径下的 app 文件夹即可解决问题。