Svelte 框架:环境变量未出现在 svelte 应用程序中

2023-12-25

我正在尝试在我的 svelte 应用程序中使用环境变量。我已经安装了@Rollup/plugin-replace and dotenv。我创建了一个.env文件来保存我的API_KEY并将以下内容添加到plugins in rollup.config.js由此中等文章 https://medium.com/@firthous.dev/how-to-setup-env-variables-to-your-svelte-js-app-c1579430f032:

plugins: [
  replace({
    __myapp: JSON.stringify({
      env: {
        isProd: production,
        API_URL : process.env.API_URL
      }
    }),
  }),
]

在我的应用程序的 svelte 组件中,我将通过以下方式访问我的 API 密钥

const apiUrl = __myapp.env.API_URL

这有效。然而,几天后我遇到了身份验证问题,经过一些调试后我发现__myapp.env.API_URL正在返回undefined尝试将其打印到控制台。

然后我尝试改变replace打电话给刚刚replace({'API_KEY': process.env.API_KEY}) and console.log(API_KEY)仍在显示undefined。我测试过replace通过尝试使用它用一些字符串替换一些变量并且它有效,从而确认汇总工作正常。所以,我怀疑问题出在process.env.API_KEY但我不确定。我尝试访问环境变量时可能做错了什么?

(一些背景:我正在使用sveltejs/模板 https://github.com/sveltejs/template作为构建我的应用程序的模板)


dotenv不会注册您的.envvars直到你打电话config, 这就是为什么process.env.API_KEY当您尝试访问它时,它是未定义的。

In your rollup.config.js你可以做:

import { config as configDotenv } from 'dotenv';
import replace from '@rollup/plugin-replace';

configDotenv();

export default {
   input: 'src/main.js',
   ...
   plugins: [
    replace({
      __myapp: JSON.stringify({
        env: {
          isProd: production,
          API_URL: process.env.API_URL,
        },
      }),
    }),
    svelte({ ... })
   ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Svelte 框架:环境变量未出现在 svelte 应用程序中 的相关文章

  • 获取express.js中间件请求中“#”后的url

    我需要获取服务器中间件上的 url 使用express js 我用req url但是当 url 开头时 some urlreq url 返回 与req path 有没有办法获取url之后 在express js中 No URL 中以 符号永
  • 如何使用 HTML 5 实现类似 gmail 的文件上传/附件

    我记得一些支持 Ajax 之类的选项 无回发世界 文件上传 隐藏的 iframe 使用 flash 对象 尽管我仍然好奇为什么使用 SWF 以及它提供什么优势 然而 通过查看博客 HTML 5 似乎很有前途 我尝试了一些小示例 它确实有效
  • 如何实时改变setInterval的速度

    我想知道如何实时更改 setInterval 的速度 例如 if score lt 10 repeater setInterval function spawnEnemy 1000 if score gt 10 repeater setIn
  • MailTo 从 Javascript

    我有一个链接按钮 用于从页面内容构建邮件 从 javascript 启动它而不打开空白窗口或干扰调用它的窗口的最佳方法是什么 function Email var sMailTo mailto var sBody var alSelecte
  • 如何让Gmail像加载进度条一样

    我想在页面的中心和顶部创建一个像 Gmail 一样的加载进度条 并适用于所有浏览器 这是基本代码
  • 设置双指缩放时精确的滚动位置

    我正在创建一个地图应用程序 它将标记图像放置在画布上并滚动到它 我正在使用浏览器的捏缩放和滚动来放大 缩小地图 然而 我注意到有一些奇怪的行为 我想知道如何解决它 这有点难以解释 但我们开始吧 假设您处于网页的标准缩放级别 无法进一步缩小
  • jQuery输入文件点击方法和IE上拒绝访问

    我尝试仅使用一个按钮作为输入文件 它在 Firefox Chrome Safari 中工作正常 但在 IE 中不行 提交表单时我总是收到 访问被拒绝 的消息 代码 input file click 有真正的解决方法吗 我在谷歌上浪费了大约2
  • 此页面上的脚本导致 ie 运行缓慢

    问题就在标题中 IE 行为异常 并说有一个脚本运行缓慢 FF 和 Chrome 没有这个问题 我怎样才能找到问题所在 那个页面有很多JS 手动检查不是一个好主意 EDIT 这是我正在处理的一个项目的页面 但我需要一个工具来查找问题 End
  • API 使用令牌向 odoo 进行身份验证

    我想使用令牌从 Express 应用程序向 Odoo 进行身份验证 我在用odoo xmlrpc https www npmjs com package odoo xmlrpc连接 Odoo 的节点模块 我的快递应用程序 Odoo 要求 A
  • JavaScript 将键添加到数组中的每个值

    我下面有这个数组 它由一个简单的数组组成 我想要完成的是放一把钥匙id在每个数组值前面以实现类似的效果 id a id b id c id d 有没有一种简单的方法可以做到这一点 任何帮助将不胜感激 谢谢 var test a b c d
  • 如何在 React Native 上显示 SVG 文件?

    我想显示 svg 文件 我有一堆 svg 图像 但我找不到显示的方式 我尝试使用Image and Use的组成部分反应本机 svg https github com magicismight react native svg但他们不这样做
  • 如果没有 /// 标签,TypeScript 的“将 JavaScript 输出合并到文件中”选项无法推断出正确的脚本顺序

    我正在开发一个使用 将 JavaScript 输出合并到文件中 选项的 TypeScript 解决方案 我经常引用另一个文件中定义的项目 例如 In MyBaseClass ts export class MyBaseClass In My
  • 如何仅显示/隐藏此 bootstrapvue 表的第二列和第三列?

    下面的代码将显示 隐藏 a 中的所有列BootstrapVue桌子 代码的来源就是这里的答案 使用 bootstrap vue 组件和 bootstrap 3 动态显示 隐藏列 https stackoverflow com questio
  • 为什么我收到“在嵌套函数中通过 this 对类字段进行潜在无效的引用访问”错误

    在普通 JS 中 我的代码可以正常工作 对于这种情况 我想组件化我的Wall类应该在浏览器中显示用户上传的图像 同样 这在 vanilla JS 中正常工作 但在 JSX 中不起作用 我得到了一个potentially invalid re
  • 如何使用新的analytics.js跟踪多个帐户?

    我需要使用 Google 的新的analytics js 跟踪一个页面上两个帐户的综合浏览量 有大量教程和示例如何使用较旧的 ga js 进行操作 但我发现的只是这个分析文档页面 https developers google com an
  • 呃!尝试将包发布到 npm 时出现 403

    我正在尝试将包发布到 npm 您可以在此处查看存储库 https github com biowaffeln mdx state https github com biowaffeln mdx state 我登录到 npmnpm login
  • 摩纳哥:如何添加内联自动完成/代码建议?

    我找不到任何有关如何添加内联自动完成功能的示例 如下图所示 有人可以指导我如何在摩纳哥做到这一点吗 这可以在 v1 66 中启用 现在在 Insiders 中 The editor quickSuggestions设置现在接受内联为 配置值
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 如何在 Jquery/Javascript 中绑定模糊和更改,但只触发一次函数?

    我试图在选择元素更改时触发函数 由于 Ipad 在 on change 方面遇到问题 我还想绑定到 blur 这在 Ipad 上工作得很好 但是我不希望两个事件都触发该函数两次 所以我需要某种挂钩来确保两个事件是否都触发change and

随机推荐

  • 使用 Chameleon ZPT 渲染任意深度的嵌套元素

    我正在使用 Pyramid 框架 我想用 Chameleon 渲染一个带有任意深度的嵌套列表 ul li 的 html 菜单 我无法在 Chameleon 中找到某种递归方法来执行此操作 这似乎是一个常见的需求 所以我想知道渲染任意深度的嵌
  • 启用空安全时,默认的“List”构造函数不可用。尝试使用列表文字,“List.filled”或“List.generate”

    Why List Dart 空安全后构造函数不可访问 Compile time error List is deprecated and shouldn t be used The default List constructor isn
  • 当前的 MVVM 视图模型实践是否违反了单一职责原则?

    根据当前的实践 至少在 WPF 和 Silverlight 中 我们可以看到视图模型中通过命令绑定来绑定视图 或者至少可以看到视图模型中处理的视图事件 这似乎违反了SRP http en wikipedia org wiki Single
  • 最小的有效域名是什么?

    只是从技术上好奇什么是有效域名 t lt is that valid localhost is valid 我记得读过一些很短的东西 甚至没有两个字 其他答复已经给了你一些提示 但我认为他们缺乏区分两种情况 因为你的问题很模糊 其实我看到的
  • az 登录命令失败 - Azure cli

    在 Windows 上安装 Azure CLI 运行 az login 命令并遇到以下错误 我运行的版本是 2 0 37 Azure CLI 2 0 https learn microsoft com en us azure storage
  • 如何从 Jersey REST 服务方法返回 PNG 图像到浏览器

    我有一个运行 Jersey REST 资源的 Web 服务器 我想知道如何获取浏览器 img 标签的图像 png 参考 提交表单或收到 Ajax 响应后 用于添加图形的图像处理代码正在工作 只需要以某种方式返回它 Code POST Pat
  • 从现有 MySQL 数据库逆向工程 SQLAlchemy 声明类定义?

    我有一个预先存在的 mysql 数据库 其中包含大约 50 个表 而不是手动编写声明式风格的 SqlAlchemy 类 如图所示 http www sqlalchemy org docs 05 ormtutorial html creati
  • JavaScript 中不接受早于 13 个月的起始日期

    这里我有 从日期 和 到日期 以及提交按钮 我在这个项目中使用 Telerik radate 控制 所以 我无法添加 Telerik 控件 这里一切都很好满足我的要求 并且有一个增强功能 http jsfiddle net ssthil 4
  • 什么是 Microsoft SharePoint? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C++ 中的哈希表?

    每当我需要存储与特定类型的值 键值 例如字符串或其他对象 关联的一些数据时 我通常使用 C stdlib 映射 stdlib 映射实现基于树 它比标准数组或 stdlib 向量提供更好的性能 O log n 我的问题是 您是否知道任何可以提
  • 提示的键盘快捷键

    通常 当我选择一个提示 例如重构我所在的某一行 时 当左侧显示紫色提示图标或灯泡图标时 我单击它 然后选择我想要的重构 我不想用我的鼠标 我如何打开左侧的对话框 resharper 会不显眼地向您显示左侧的任何对话框 只是想找到一种比使用鼠
  • 限制每个 Apache 虚拟主机的带宽 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我将启动一个 2GB Linode VPS 来托管几个 Wordpress CMS 站点和一个基于 Yii 框架的站点 我计划使用 Apache 虚拟
  • 将“onclick”处理程序添加到纯 JavaScript 中动态创建的元素

    我正在页面上动态创建和删除元素 a 和 button 我想在创建它们时向它们添加处理程序 onclick 到目前为止我见过的所有例子都是jquery 的 我怎样才能用纯 JavaScript 做到这一点 你可以这样做 for var i 0
  • 当用户关闭其中一个窗口时,WPF 关闭所有窗口

    有一个具有多个窗口的 WPF 应用程序 最初只有一个窗口 用户可以转到下一个窗口 同时隐藏上一个窗口 当他们回来时 隐藏的窗口再次出现 问题是 当用户关闭某些窗口时 隐藏的窗口继续作为进程运行 当用户关闭任何一个时 是否可以关闭所有它们 如
  • 在组件外部使用 VueI18n 的问题

    我正在尝试在组件外部使用 i18n 我找到了这个解决方案https github com dkfbasel vuex i18n issues 16 https github com dkfbasel vuex i18n issues 16告
  • 使用张量流数据集利用 GPU

    在数据训练期间 我的 GPU 利用率约为 40 并且我清楚地看到基于 TensorFlow Profiler 的数据复制操作占用了大量时间 参见附图 我认为 MEMCPYHtoD 选项正在将批次从 CPU 复制到 GPU 并阻止使用 GPU
  • 有没有办法将语法与 HTML 5 语音输入 API 结合使用?

    我正在使用 HTML 5 语音输入 API 我想让服务器知道它可以期望从语音输入返回哪些答案 有没有办法设置可能的输入列表 在 Google Chrome 中 您还不能使用语法 总的来说 他们决定仅使用自由形式识别 相关问题是Google
  • 在addListener中传递google事件数据

    我有可变数量的文本字段 我正在动态初始化 Google 地图自动完成功能 问题是每次地点已更改事件被触发 我需要确切地知道它是在哪个输入框上触发的 我怎样才能将这些数据传递给我的保存位置功能 现在 event评估结果为未定义 initAut
  • 是否有与

    HTML 中是否有一个标签只有在启用 JavaScript 时才会显示其内容 我知道
  • Svelte 框架:环境变量未出现在 svelte 应用程序中

    我正在尝试在我的 svelte 应用程序中使用环境变量 我已经安装了 Rollup plugin replace and dotenv 我创建了一个 env文件来保存我的API KEY并将以下内容添加到plugins in rollup c