Astro Env 变量在页面中使用时出错,但在组件中有效

问题描述 投票:0回答:1

第一次使用 Astro,所以我还在摸索中

我可以在 astro 组件中调用 import.meta.env.SOME_VARIABLE ,没有任何问题,但是调用 import.meta.env.SOME_VARIABLE ,即使只是在 console.log() 中,在任何页面都会导致错误。

Unterminated string literal 

Unterminated regular expression

根据调用 env 文件的行号,会发生上述错误之一,导致我认为它正在向现有代码中插入一些文本或代码?

同样,在 astro 组件中调用 env 没有问题,但在所有 astro 页面上都会出现错误。页面和组件都在服务器端呈现。

根目录如下所示:

src
ー pages
ー components
astro.config.mjs
.env.local
.env.development
.env.production

尝试过:

  • 设置为客户端公共变量(PUBLIC_SOME_VARIABLE),但同样的错误。
  • 调用了 process.env.PUBLIC_SOME_VARIABLE 而不是 import.meta.env,但它按预期返回了 undefined。

虽然我现在找到了在 astro 组件中使用 env 变量的解决方法,但我希望能够使用 import.meta.env 引用页面中的 env 变量

https://docs.astro.build/en/guides/environment-variables/

environment-variables vite server-side-rendering astrojs
1个回答
0
投票

我也遇到了同样的问题,并花了很多时间,直到我意识到我的

const myVar = import.meta.env.MY_VAR
高于
import
。将变量初始化移到下面
import
解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.