环境变量
有时你需要你的 webpack
构建依赖于特定的环境变量。无论你需要设置全局 API Url 还是应用程序名称,这里是如何设置 electron-webpack
将为你的应用程序提供的变量的方法。
ELECTRON_WEBPACK_APP_*
¶
如果你希望 electron-webpack
在构建过程中提供环境变量,请使用 ELECTRON_WEBPACK_APP_*
命名空间,它们将被注入。
用例¶
假设我们的应用程序使用 CI 服务器来运行测试,并且我们也希望该构建使用我们的开发 API。我们可以设置一个环境变量来定义 axios
可以使用的基础 Url。
设置我们的环境变量¶
# linux and darwin systems
ELECTRON_WEBPACK_APP_API_URL="http://dev.domain.com/api"
# win32 systems
set ELECTRON_WEBPACK_APP_API_URL="http://dev.domain.com/api"
在我们的代码中引用该变量¶
import axios from 'axios'
axios.defaults.baseURL = process.env.ELECTRON_WEBPACK_APP_API_URL
ELECTRON_ARGS
¶
如果你需要在开发期间为 electron
进程本身提供参数,你可以使用 ELECTRON_ARGS
环境变量来实现。
从 CLI¶
当从 CLI 指定 ELECTRON_ARGS
时,请注意它将被解析为值数组的 JSON 字符串。因此,你必须将值包裹在方括号中,并在 unix 系统上转义像双引号这样的字符。例如,如果在 package.json 中你有一个脚本 "dev": "electron-webpack dev"
,你可以像这样使用 --inspect-brk
参数来调用它
# linux and darwin systems, git bash on windows
ELECTRON_ARGS=[\"--inspect-brk=9229\"] yarn dev
# win32 systems, cmd
set ELECTRON_ARGS=["--inspect-brk=9229"]&&yarn dev
从 .env
文件¶
由于 electron-webpack
在底层使用了 dotenv 库,所以你可以创建一个 .env
文件并指定环境变量,而不是处理 CLI 参数、转义以及 Windows 和 Unix 系统之间的差异。
ELECTRON_ARGS=["--inspect-brk=9229"]