You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Astro Starlight MDX文件中导入字符串版本号?

解决Astro Starlight MDX中导入版本号变量为undefined的问题

你的问题出在导入语法不符合ES模块规范以及MDX变量渲染方式不正确,以下是两种可行的解决方案:

方案1:修正命名导出的导入语法

你的version.js使用的是命名导出,MDX中必须用解构语法导入变量:

---
title: Version Test
desc: Show version
---
import { VERSION } from "/src/components/version";

<p>Version {VERSION}</p>

方案2:改为默认导出

如果想保留原导入写法,可修改version.js为默认导出:

export default '1.0.0'

MDX代码调整为(注意变量需放在JSX元素内才能被解析):

---
title: Version Test
desc: Show version
---
import VERSION from "/src/components/version";

<p>Version {VERSION}</p>

关键说明

  1. MDX严格遵循ES模块导入规则,命名导出必须对应解构导入,这和.astro文件的宽松处理逻辑不同;
  2. MDX中纯文本里的{VERSION}不会被识别为变量,必须将变量包裹在JSX元素(如<p>、<span>)中,才能触发表达式解析。

内容的提问来源于stack exchange,提问作者David Bradshaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:55:01