运行npm脚本命令时覆盖package.json键

Har*_*ngh 5 node.js npm electron electron-builder

我有电子应用。

我的package.json具有一些特定于应用程序的设置,例如serverUrltype_of_application等等。我正在应用程序中使用这些设置。

electron-builder我用构建应用程序时,我想用不同的值覆盖这些配置键值。

我将serverUrl针对不同的应用程序构建不同的相同应用程序type_of_application。也有可能将它们安装在同一台计算机上,因此我也想更改不同构建的软件包nameproductName键值。

因此,我的目标是使用具有所有这些设置的单独的配置文件来构建具有不同设置的应用程序。在构建时,我将使用config文件之一,并且该文件应覆盖package.json文件中的默认配置。

一种可能是针对不同类型的构建具有完整的package.json,但在这种情况下,dependencies密钥也会被复制,这在添加新的依赖项时将很难管理。

有什么办法可以实现?

Rob*_*sch 1

一种策略是将所有应用程序特定配置保存在一个或多个单独的配置文件中,您的应用程序在启动时加载这些配置文件。

我倾向于将此类文件保存在APP_HOMEDIR/etc(向我的 Unix 根致敬)下,并根据您需要的每个应用程序环境进行命名。

更新

对于使用 的 Electron 应用程序开发electron-builder,存在一个配置密钥extraMetadata,允许您注入在package.json每个构建中设置的值。

有关更多信息,请参阅电子构建器配置。

(感谢 OP Harshveer Singh建议此更新。)