如何在生产和阶段之间更改 Electron 中的环境变量

Mik*_*ion 7 javascript node.js electron electron-builder

我想根据环境更改 API URL。例如

production: https://example.com
stage: https://stage.example.com
local: https://localhost:3001
Run Code Online (Sandbox Code Playgroud)

在 Electron 中,如何设置环境变量?

我在构建时尝试更改生产名称,但没有用

tpi*_*chu 6

实际上,打包应用程序后我们无法传递环境变量。

我的意思是即使我们尝试定义或添加进程环境变量。在生产中它将毫无用处。我想说process.env.NODE_ENV在生产模式下是未定义的。推荐用于electron-is-dev检查应用程序是否处于开发模式或生产模式。

包.json

"production": "electron-builder .",
"stage": "cross-env NODE_ENV=stage electron .",
"local": "cross-env NODE_ENV=development electron ."
Run Code Online (Sandbox Code Playgroud)

在你的main.jsindex.js 处

const isDev = require('electron-is-dev');

let apiURL = 'https://localhost:3001';

if (isDev) { // or if(process.env.NODE_ENV)
    // Dev or Stage
    if(process.env.NODE_ENV === 'stage')
         apiURL = "https://example.com";
} else {
    // Prod mode
    apiURL = "https://example.com";
    console.log('Running in production');
}
Run Code Online (Sandbox Code Playgroud)