问题标签 [asar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
439 浏览

electron - 打包电子应用程序(使用-no--asar 安装)后 child_process.spawn 不工作

我知道在 mac 上使用 asar 打包电子应用程序时,使用 spawn 运行 bin 文件不起作用。为了解决这个问题,我使用 -no--asar 运行 electron-packager 并且应用程序生成进程就好了。运行安装程序后一切都死了?

该应用程序运行良好,然后:

child_spawn.('./bin') 已经死了……

我讨厌macs...当然一切都可以在linux上运行 谢谢!

0 投票
5 回答
4184 浏览

javascript - Electron 修改 .asar 中的文件存储

我想从 Electron index.html 文件中修改我的应用程序的.asar 中存在的配置文件。就我而言,如有必要,我需要更改我的应用程序数据库配置才能工作。

我知道 .asar 是只读的,我想知道是否有办法从电子修改这个配置文件而不改变它在我的应用程序中的位置?

我看到了 extraResources 选项,但我不明白它是如何工作的。

配置文件保留在 myapp/config 文件夹中也很重要。

谢谢你的帮助 :)

0 投票
1 回答
945 浏览

node.js - 如何使用电子打包器将节点插件打包到 asar 存档中?

如何使用电子打包器将节点插件(在渲染器进程中使用!)添加到 asar 存档中?Webpack 生成文件:

然后之后:

我在 asar 档案中没有 addon.node 。

0 投票
1 回答
357 浏览

reactjs - 在 gitlab 运行器上使用 asar 构建的 React Electron 应用程序会创建 JavaScript 错误

我将开始我的问题有点结构化:

背景资料

  • 我正在我的 Mac 上使用 Electron 开发一个 React 应用程序。
  • 客户在 Windows 7 和 10 上使用此应用程序。
  • 该应用程序在 docker 内的 gitlab 运行器上与 asar 一起打包
  • 跑步者的 dockerfile 来自electronuserland/builder:base

什么有效?

  • 如果我在本地启动应用程序,我会运行 npm 构建脚本并启动电子 -> 应用程序运行良好!
  • 如果我在本地(在我的 Mac 上)为 Windows 打包应用程序并将 .exe 复制到我的虚拟机:-> 应用程序运行良好!

什么不起作用?

如果我的提交触发了我的管道,则 gitlab 运行程序开始运行构建脚本和包脚本(与我在本地运行以打包和运行我的应用程序相同)构建“成功”完成并且工件存储在 gitlab 上。

然后我从我的 Windows VM 上的 gitlab 工件下载 .exe 并安装该软件。这绝对可以正常工作。该应用程序可以启动,并且某些功能运行良好。但是一个包有问题(或者可能更多,我还不知道)它是react-bootstrap-daterangepicker. 它给了我一个 JS 错误,$this.$picker.daterangepicker is not a function 我用谷歌搜索了很多,发现包存在问题,但我不明白为什么当我在本地打包应用程序而不是与运行程序一起打包时它会工作。

我在本地机器上完全删除了我的节点模块并重新安装了它们,它仍然可以正常工作。

你有什么主意吗?我的本地环境和可能导致此类问题的运行器环境之间的差异在哪里?

我非常陷入这个问题,如果你能帮助我解决这个问题,你将成为我的英雄!

祝你今天过得愉快!

0 投票
1 回答
8670 浏览

javascript - NodeJS + 电子路径

我试图弄清楚如何在带有 asar 标志的电子打包应用程序中预测代码中的路径。

使用 windows(一个 exe 文件)和 mac(一个 .app 包文件夹) - 每个最终都包含一个 asar 文件,以包含节点脚本。

我想访问 exe 在 windows 上的文件夹,以及当前包应用程序的父文件夹。

使用__dirname和向下遍历无济于事,因为 win 和 mac 上有不同数量的子文件夹。

任何帮助是极大的赞赏。

似乎与如何获取便携式电子应用程序的原始路径有关?

0 投票
1 回答
2721 浏览

node.js - 如何使用 Asar 打包应用程序但不包括 Electron

我只想将我的 Electron 应用程序打包到 asar 存档中,但没有devDependenciespackage.json. 实际上,我唯一不需要打包到 asar 存档的是"node_modules/electron",所以根据文档(https://github.com/electron/asar# exclude-multiple-resources-from-being-packed )我'我试过:

但没有成功......它仍然打包"node_modules/electron"到存档中。如何正确执行?

0 投票
0 回答
257 浏览

reactjs - 如何在 electron.js 应用程序中存储或隐藏敏感凭据

我正在为前端制作一个电子应用程序以及create-react-app。该应用程序需要一个活动的 MQTT 连接。因此,在我的电子代码中的某处,我必须包含访问 MQTT 代理的凭据。这些凭据不是最终用户应该知道的,所以我决定对其进行硬编码。

使用 electron builder 打包应用程序后,对于任何平台,在应用程序安装后的某些资源文件夹中总会有一个.asar 文件,可以借助asarnpm 库轻松提取该文件。

提取后,我所有的电子源代码都公开了,凭据也是如此。有什么解决方法吗?nw.js是避免这种情况发生的唯一其他方法,还是有办法为此使用一些c/c++ 插件

此外,是否有任何电子反应替代样板以某种方式克服了这个问题?

代码混淆是一个有点无效的解决方案,因为密码仍然存在,只是很难找到。这是我的第一个电子应用程序,所以还没有真正找到如何克服这个问题。

0 投票
1 回答
825 浏览

webpack - 将 Electron 应用程序打包到 ASAR 中会导致找不到模块错误

我在将我的应用程序打包成单个.asar文件时遇到问题。我在用electron-builder用来启动.asarfile 的打包。如果我不将应用程序打包到 asar 中,如果我解压缩生成的 asar,它会按预期工作,它也会按预期工作。

但是,使用 asar 运行电子会产生以下错误:

Error: Cannot find module './MyModuleBase' at Module._resolveFilename (internal/modules/cjs/loader.js:584:15)

以前,asar 可以正常工作,但我们在项目中进行了一些重构,将代码拆分为一个新模块。

**初始配置(ASAR 工作)**

electron-application取决于application模块。

**新配置(ASAR 损坏)**

electron-application依赖于application模块并且application依赖于application-core MyModuleBase 在 application-core 模块中

另一点可能相关:应用程序正在使用 webpack-stream 模块与 web-pack 打包。

更新:我已经解决了这个问题,但是我仍然想知道为什么 .asar 版本会失败并且提取文件会起作用。

0 投票
1 回答
2725 浏览

build - 如何修复“--asar 不接受任何参数,它只有子属性”警告

在我的应用程序的最后一步,当我想使用“npm run package-win”命令构建我的桌面应用程序(适用于 Windows 10 操作系统)时,我在标题中收到了相同的警告。其他问题是应用程序的 exe 文件出现但给出错误。“代码执行无法继续,因为找不到 ffmpeg.dll。重新安装程序可能会解决问题。”

我重装了几次程序,我改变了我的package.json的脚本我认为是因为asar的依赖

PS C:\Users\osman.turalioglu\Projects\project> npm run package-win

project@1.0.0 package-win C:\Users\osman.turalioglu\Projects\project>
electron-packager 。--overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName =CE --version-string.FileDescription=CE --version-string.ProductName="project" 警告:--asar 不带任何参数,它只有子属性(参见--help)平台 win32 的打包应用程序ia32 使用电子 v5.0.6 将新应用程序写入 release-builds\project-win32-ia32

我希望构建我的桌面应用程序的 exe 文件

0 投票
0 回答
37 浏览

electron - 有没有办法将完整的资源文件夹移动到配置文件,然后将 Electron 指向它?

我需要将一些文件移动到配置文件中,因为这些文件应该在没有管理员权限的情况下进行操作,同时在每台机器上安装应用程序。当我只是移动特定文件时,它会破坏我代码的所有相对路径,尤其是在 HTML 文件中。我一直在寻找一种在配置文件文件夹中创建符号链接的方法,这些符号链接被应用程序视为一个文件夹,这似乎是不可能的。

那么我可以将包括 ASAR 存档的完整资源文件夹移动到配置文件,然后将应用程序指向它吗?