两种 package.json 结构
信息
自版本 8 起,electron-builder 仅重建生产依赖项,因此,您不必被迫使用两种 package.json 结构。
-
用于开发 (
./package.json)package.json位于项目的根目录中。 在此处,您可以声明开发环境和构建脚本的依赖项 (devDependencies)。 -
对于您的应用程序 (
./app/package.json)package.json位于app目录中。 在此处声明您的应用程序依赖项 (dependencies)。 只有此目录会与最终打包的应用程序一起分发。
为什么?
- Native npm 模块(那些用 C 编写的,而不是 JavaScript)需要编译,这里我们为它们提供了两个不同的编译目标。 应用程序中使用的模块需要针对 electron 运行时进行编译,而所有
devDependencies需要针对本地 node.js 环境进行编译。 感谢这两种package.json结构,这变得很简单(请参阅 #39)。 - 无需指定要包含在应用程序中的文件(因为开发文件位于
app目录之外)。
请参阅 手动加载应用程序依赖项 和 #379。
如果您使用两种 package.json 项目结构,那么您只会将 devDependencies 放在开发 package.json 中,并将 dependencies 放在应用程序 package.json 中。 为了确保您的依赖项始终基于这两个文件进行更新,只需将 "postinstall": "electron-builder install-app-deps" 添加到您的开发 package.json 中。 这基本上会自动在您的应用程序目录中触发 npm install,这样您就不必在每次安装/更新依赖项时都执行此操作。
元数据
所有元字段都应位于 app/package.json 中(version、name 等等)。