手动管理将哪些包放入 app.asar 中的 node_modules 中
作者: ravicious创建于 2026年3月30日更新于 2026年8月21日
标签Stale
默认情况下,electron-builder 从 package.json 中的 dependencies 中获取所有依赖项,并将其复制到 ASAR 存档中的 node_modules 中。对于 Electron 项目,我认为有两种类型的生产依赖项:从 main/preload 脚本中使用的依赖项以及仅从渲染器中使用的依赖项。这导致像 electron-vite 这样的工具鼓励用户将渲染器依赖项放到 devDependencies 中(来源):
在渲染器进程中使用的依赖项最好安装为
devDependencies,以帮助 保持最终包的大小较小。
这个建议是正确的:我在工作的项目中,我们打包了三个脚本:main、preload 和 renderer。在 main 和 preload 打包中,electron-vite 自动打包了未在 dependencies 中列出但由代码导入的任何依赖项。这意味着通常将包放到 app.asar 中的 node_modules 中只对那些依赖于原生绑定的包有用,比如 node-pty。
内容来源: electron-userland/electron-builder