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

时间:2018-03-09 16:32:51

标签: node.js npm electron electron-builder

我有电子申请。

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

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

我将针对不同的serverUrl使用不同的type_of_application构建相同的应用程序。还有可能这些将安装在同一台机器上,因此我还想更改不同版本的包nameproductName键值。

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

一种可能性是为不同类型的构建提供完整的package.json,但在这种情况下,dependencies等密钥也将被复制,这将在添加新依赖项时难以管理。

有什么方法可以实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

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

我倾向于将这些文件保存在APP_HOMEDIR/etc下(对我的Unix根据点头),以您需要的每个应用程序环境命名。

更新

对于使用electron-builder进行电子应用开发,配置密钥extraMetadata允许您注入每个版本package.json中设置的值。

有关详细信息,请参阅electron-builder configuration

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