返回介绍

业务代码解析

发布于 2024-09-11 01:11:56 字数 969 浏览 0 评论 0 收藏 0

默认情况下,electron-builder 会把 HTML、CSS 和 JavaScript 代码以及相关的资源打包成 asar 文件嵌入到安装包中(就是安装目录下的 app.asar 文件),再分发给用户。

asar 是一种特殊的存档格式,它可以把大批的文件以一种无损、无压缩的方式连接在一起,并提供随机访问支持。

全局安装 asar 工具:

npm install asar -g

安装好工具后,打开应用的安装目录,在 resources 子目录下找到 app.asar 文件,通过如下命令列出该文件内部包含的文件信息:

asar list app.asar

如果想看 app.asar 包中的某个文件的内容,可以通过如下命令把该文件释放出来:

asar ef app.asar entry.js

这样 entry.js 就会出现在 app.asar 同级目录下了,如果释放文件失败,提示如下错误:

internal/fs/utils.js:307
throw err;
Error: EPERM: operation not permitted, open 'entry.js'
90m    at Object.openSync (fs.js:476:3)39m
90m    at Object.writeFileSync (fs.js:1467:35)39m

可能是因为你的应用程序正在运行,app.asar 文件被占用了导致的,退出应用程序再次尝试,如果还是无法释放目标文件,可以考虑把 app.asar 拷贝到另一个目录下再释放。

如果希望一次性把 app.asar 内的文件全部释放出来,可以使用如下指令:

asar e app.asar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文