首页 > 解决方案 > 为什么我的 electron-forge 使用 webpack 模板制作带有空 node_module 文件夹的可分发文件?

问题描述

我最近正在尝试使用 webpack 捆绑器的电子 12,并且最近意识到每次它使用构建的yarn makenode_module 文件夹是空的。ContextBridge信息。

无论如何,在我手动将整个 node_module 文件夹复制到其中之后,它就可以工作了。

标签: webpackelectronnode-moduleselectron-forge

解决方案


electron-forgeWebpack的默认配置捆绑了你的 main/preload/renderer 代码。

这主要有积极的影响:

  • 更紧凑的可分发产品,没有存在于node_modules
  • 如果您正在使用nodeIntegration: false,则渲染器中没有require,因此如果您想使用依赖项,则需要捆绑代码
  • 更快的启动时间,因为:
    • require'ing 成百上千个单独的文件可能会很慢
    • 您的代码已最小化且更小,因此 Chrome 在启动时解析的代码更少

有什么负面影响?

  • 并非所有 node.js 模块都可以使用捆绑
  • 原生模块通常与捆绑不兼容

推荐阅读