使用环境变量来更改project.json中的应用名称并设置运行时变量?

时间:2019-07-03 21:20:37

标签: javascript node.js electron electron-builder electron-packager

我需要从相同的代码库中生成两个应用(例如“ pro”和“ lite”版本)。这里有很多问题,但我发现没有一个涉及nodeelectron

我仅以非常简单的方式在开发中使用了env,并且在四处搜寻之后,我还没有提到能够在已部署的应用程序中使用它们的情况。

有两个任务:
1。更改应用名称

因此,将package.json文件与electron builder一起使用,我试图像这样更改productName

  "productName": process.env.APP_NAME,
  "main": "main.js",
  "scripts": {
    "package-mac": process.env.APP_NAME='Bingo' electron-packager . --overwrite  --platform=darwin --arch=x64  --prune=true --out=release-builds"
}

但是那没有用。还看到了这种构造,但也没有用:

  "productName": '${process.env.APP_NAME}',

我在这里走错了路吗?

2。在运行时使用的变量
要进行“专业”和“精简”工作,我至少需要一个标志来知道如何进行配置。
无论如何,env var适合吗?

我想我是否能够更改应用程序名称,我可以在运行时访问它,但似乎所有这些东西都缺少重要的内容。

1 个答案:

答案 0 :(得分:0)

使用dot-json,您可以拥有以下npm脚本:

  "productName": "Bingo",
  "main": "main.js",
  "scripts": {
    "package-mac": "echo $APP_NAME; dot-json package.json productName $APP_NAME --indent 2; electron-packager . --overwrite  --platform=darwin --arch=x64  --prune=true --out=release-builds"
  }

在终端中,也许您可​​以运行

 $ APP_NAME='Bingo Pro' npm run package-mac