@astrojs/micromark-extension-mdx-jsx

中文文档
1.0.3发布于 2022/06/08MITTypeScriptES Module近 30 天下载 2.8万

较不严格版本的微分-扩展-mdx-jsx.

中文使用文档
文档目录4 节
  1. 语法差异
  2. 科隆斯语 : ) 前面是白空间开始属性名称而不是本地名称
  3. 属性名称可以从 @
  4. 属性名称可以包含点 ( . (中文(简体) )

@astrojs/micromark-extension-mdx-jsx (英语)

此分叉基于 微标记/微标记-扩展-mdx-jsx 原作者提交的来文 Titus 虫类。 。 。 .

此分叉的目的是为此提供扩展的MDX/JSX语法支持 天体 网站构建工具。 如果不使用Astro,你也许应该使用原来的扩展来代替这个分叉.

语法差异

科隆斯语:) 前面是白空间开始属性名称而不是本地名称

最初的代码总是将JSX标记内部的结肠作为主名和当地名之间的分隔符来对待,即使结肠之前有白空间. 我们的forked版本开始一个属性名称而不是本地名称,如果在冒号之前有白空间的话.

这导致了以下变化:

  • 语法 <input :placeholder="..."> 现在被当作一种 input 带有属性的元素 :placeholder。 。 。 .
    • 原代码是这样处理的 <input:placeholder="...">,导致一个元素命名 input:placeholder (与 placeholder 作为元素的本地名称),并由于以下意外值分配而出现语法错误 ="..."。 。 。 .
  • 语法 <input disabled :placeholder="..."> 现在被当作一种 input 有两个属性的元素 disabled 财务报告和审定财务报表 :placeholder。 。 。 .
    • 原代码是这样处理的 <input disabled:placeholder="...">,导致 input 元素中只有一个属性 disabled:placeholder。 。 。 .

因此,这些阿尔卑斯山大学的例子现在可以发挥预期的作用:

<input type="text" :placeholder="placeholder">
<input type="text" disabled :placeholder="placeholder">
<div :class="open ? '' : 'hidden'">Test</div>
<div :style="true && { color: 'red' }">Test</div>

属性名称可以从 @

原始代码不允许属性名称以 @。 我们的forked版本允许这样做.

因此,这些例子使用了AlpineJS的简写语法 x-on: 现按预期工作:

<button @click="handleClick">Test</button>

属性名称可以包含点 (.(中文(简体) )

原始代码不允许属性名称包含点. 我们的伪造版本允许这样.

因此,结合我们的变革 @ 要开始属性名称, 这些 AlpineJS 实例现在可以按预期操作 :

<button @click.once="console.log('I will only log once')">Test</button>
<input @input.debounce="fetchResults">
<input @input.debounce.500ms="fetchResults">
<div @keyup.escape.window="...">Test</div>

版本与发布记录

@astrojs/micromark-extension-mdx-jsx 共发布 1 个版本,首次发布于 2022/06/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.3latest2022/06/084 年前

关于 @astrojs/micromark-extension-mdx-jsx 的常见问题

@astrojs/micromark-extension-mdx-jsx 是什么?

较不严格版本的微分-扩展-mdx-jsx.

如何安装 @astrojs/micromark-extension-mdx-jsx?

在项目目录运行 npm install @astrojs/micromark-extension-mdx-jsx,或使用 pnpm add / yarn add / bun add。

@astrojs/micromark-extension-mdx-jsx 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@astrojs/micromark-extension-mdx-jsx 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@astrojs/micromark-extension-mdx-jsx 可以商用吗?

@astrojs/micromark-extension-mdx-jsx 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@astrojs/micromark-extension-mdx-jsx 的下载量有多少?

根据 npm 官方下载统计,@astrojs/micromark-extension-mdx-jsx 在 2026/10/07 – 2026/11/05 这 30 天内被下载 28,368 次,日均约 946 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@astrojs/micromark-extension-mdx-jsx 还在维护吗?

最新版本 1.0.3 发布于 2022/06/08(4 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/06/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。