Svelte 中的环境变量 - __myapp 未定义
Posted
技术标签:
【中文标题】Svelte 中的环境变量 - __myapp 未定义【英文标题】:Env vars in Svelte - __myapp is not defined 【发布时间】:2021-12-14 12:15:40 【问题描述】:我正在尝试在我的 Svelte 应用上设置环境变量以隐藏 API 密钥。
我按照本文 [https://medium.com/dev-cafe/how-to-setup-env-variables-to-your-svelte-js-app-c1579430f032] 中的说明进行操作。
这是我的 rollup.config.js 的结构
import config as configDotenv from 'dotenv';
import replace from '@rollup/plugin-replace';
configDotenv();
export default
...
plugins: [
replace(
__myapp: JSON.stringify(
env:
isProd: production,
amplitude_api_key : process.env.amplitude_api_key
)
),
]
当我尝试通过调用来访问环境变量时:__myapp.env.API_KEY
我收到此错误:__myapp is not defined
【问题讨论】:
【参考方案1】:似乎嵌套是问题所在。我能够使用以下语法使其工作:
replace(
'process.env.isProd': production,
'process.env.amplitude_api_key': process.env.amplitude_api_key
),
然后在您的应用中使用process.env.isProd
。当然,如果你喜欢 __myapp
的东西,你可以在汇总配置中的替换函数左侧使用 __myapp
而不是 process
。
【讨论】:
以上是关于Svelte 中的环境变量 - __myapp 未定义的主要内容,如果未能解决你的问题,请参考以下文章
全局初始化失败:BadValue 无效或未设置用户区域设置。请确保正确设置 LANG 和/或 LC_* 环境变量