Svelte 中的环境变量 - __myapp 未定义

Env vars in Svelte - __myapp is not defined

我正在尝试在我的 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

看来是嵌套的问题。我能够使用以下语法使其工作:

replace({
  'process.env.isProd': production,
  'process.env.amplitude_api_key': process.env.amplitude_api_key
}),

然后在您的应用中使用 process.env.isProd。当然,如果您喜欢 __myapp 东西,您可以在汇总配置中的替换函数左侧使用 __myapp 而不是 process