两种 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
等等)。