两种 package.json 结构

信息

自版本 8 起,electron-builder 仅重建生产依赖项,因此,您不必被迫使用两种 package.json 结构。

  1. 用于开发 (./package.json)

    package.json 位于项目的根目录中。 在此处,您可以声明开发环境和构建脚本的依赖项 (devDependencies)。

  2. 对于您的应用程序 (./app/package.json)

    package.json 位于 app 目录中。 在此处声明您的应用程序依赖项 (dependencies)。 只有此目录会与最终打包的应用程序一起分发。

为什么?

  1. Native npm 模块(那些用 C 编写的,而不是 JavaScript)需要编译,这里我们为它们提供了两个不同的编译目标。 应用程序中使用的模块需要针对 electron 运行时进行编译,而所有 devDependencies 需要针对本地 node.js 环境进行编译。 感谢这两种 package.json 结构,这变得很简单(请参阅 #39)。
  2. 无需指定要包含在应用程序中的文件(因为开发文件位于 app 目录之外)。

请参阅 手动加载应用程序依赖项#379

如果您使用两种 package.json 项目结构,那么您只会将 devDependencies 放在开发 package.json 中,并将 dependencies 放在应用程序 package.json 中。 为了确保您的依赖项始终基于这两个文件进行更新,只需将 "postinstall": "electron-builder install-app-deps" 添加到您的开发 package.json 中。 这基本上会自动在您的应用程序目录中触发 npm install,这样您就不必在每次安装/更新依赖项时都执行此操作。

元数据

所有元字段都应位于 app/package.json 中(versionname 等等)。