【问题标题】:Env vars in Svelte - __myapp is not definedSvelte 中的环境变量 - __myapp 未定义
【发布时间】: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

【问题讨论】:

    标签: javascript environment-variables svelte


    【解决方案1】:

    似乎嵌套是问题所在。我能够使用以下语法使其工作:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-14
      • 2020-10-20
      • 2021-06-24
      • 2020-03-27
      • 2022-06-18
      • 2021-09-13
      • 2020-08-09
      • 2021-08-15
      相关资源
      最近更新 更多