实验性的原始环境变量值
类型: boolean
默认值: false
astro@5.12.0
新
Astro 允许你为环境变量配置一个类型安全的模式,并将通过 astro:env
导入的变量转换为预期的类型。
然而,在某些情况下,Astro 也会转换通过 import.meta.env
使用的环境变量,这可能会阻止访问某些值,例如字符串 "true"
(被转换为布尔值)和 "1"
(被转换为数字)。
experimental.rawEnvValues
标志禁用了对从 process.env
填充的 import.meta.env
值的强制转换,允许你使用原始值。
要禁用 Astro 对通过 import.meta.env
使用的值的强制转换,请在你的 Astro 配置中将 experimental.rawEnvValues
标志设置为 true
import { defineConfig } from "astro/config"
export default defineConfig({ experimental: { rawEnvValues: true, }})
用法
“用法”章节启用此实验性标志后,将不再将字符串值转换为布尔值或数字。这使 import.meta.env
在 Astro 中的行为与 Vite 保持一致。
在未来的主版本中,Astro 将默认不再对 import.meta.env
的值进行强制转换,但你可以通过使用 experimental.rawEnvValues
标志提前选择加入未来的行为,并在必要时相应地更新你的项目。
更新你的项目
“更新你的项目”章节如果你之前依赖于此强制转换,你可能需要更新你的项目代码以手动应用它
const enabled: boolean = import.meta.env.ENABLEDconst enabled: boolean = import.meta.env.ENABLED === "true"
如果你在 Astro 中需要强制转换,我们建议你使用 astro:env
。