gpt4 book ai didi

quasar - 有没有办法从控制台将环境变量传递给类星体?

转载 作者:行者123 更新时间:2023-12-01 19:37:17 27 4
gpt4 key购买 nike

我开发了一个类星体应用程序,并使用“dotenv”插件来解析 .env 文件。
有时我需要对变量进行临时更改,例如仅对当前运行使用不同的后端地址,而我不想更改 .env 文件。
如果有办法在控制台中传递环境变量?

例如

quasar dev BACKEND='http://localhost'

最佳答案

我的解决方案:

在 quasar.conf.js 中:

    const envparser = require('./src/envparser')
...
build: {
env: envparser(),

...

./src/envparser:

    const DotEnv = require('dotenv')
const parsedEnv = DotEnv.config().parsed

const argEnv = {}
process.argv.forEach((v, k) => {
if (v.indexOf('--env.') === 0) {
argEnv[v.substring(6)] = process.argv[k + 1]
}
})

module.exports = function () {
for (let key in parsedEnv) {
if (typeof parsedEnv[key] === 'string') {
parsedEnv[key] = JSON.stringify(parsedEnv[key])
}
}

for (let key in argEnv) {
parsedEnv[key] = JSON.stringify(argEnv[key])
}

return parsedEnv
}

所以现在你可以使用 .env 文件来定义环境变量, .env.prod 和 .env.dev 用于生产和开发模式,这些将被控制台参数覆盖:
quasar dev --env.VARIABLE "Value"

关于quasar - 有没有办法从控制台将环境变量传递给类星体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54108886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com