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

问题描述 投票:0回答:2

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

node
electron

我在开发中只以非常简单的方式使用了

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
vars 无论如何都适合这个吗?

我想如果我能够更改应用程序名称,我可以在运行时访问它,但似乎我错过了所有这些重要的东西。

javascript node.js electron electron-builder electron-packager
2个回答
1
投票

使用 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

0
投票

您可以使用

npm pkg
脚本来获取/设置 package.json 属性,它本身可用并达到确切的目的 https://docs.npmjs.com/cli/v10/commands/npm-pkg

在 package.json 中,您可以使用自定义脚本来更新

productName
,例如

"scripts": {
  "build:pro":"npm pkg set productName=app-pro && electron-packager .",
  "build:lite":"npm pkg set productName=app-lite && electron-packager ."
}

最后在 CICD 管道或本地计算机上使用特定脚本。

© www.soinside.com 2019 - 2024. All rights reserved.