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

无法在Next.js+Tauri项目中使用remark-gfm等MDX插件

解决方案

1. 关闭 experimental.mdxRs 实验特性

你的配置中启用了基于Rust实现的mdxRs编译器,但当前remark-gfm等部分插件尚未完全适配该实验特性。修改nextConfig:

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  swcMinify: true,
  pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
  // 注释或移除mdxRs配置
  // experimental: {
  //   mdxRs: true,
  // },
};

2. 清理冗余依赖并简化配置

@next/mdx已内置MDX编译所需的核心依赖,你安装的remark-parse、remark-rehype等包属于冗余依赖,可卸载:

npm uninstall remark-parse remark-rehype rehype-stringify remark-mdx

保持MDX配置简洁:

import createMDX from '@next/mdx'
import remarkGfm from 'remark-gfm'

const withMDX = createMDX({
  options: {
    remarkPlugins: [remarkGfm],
    rehypePlugins: [],
  },
})

const nextConfig = {
  reactStrictMode: true,
  swcMinify: true,
  pageExtensions: ['js', 'jsx', 'mdx', 'ts', 'tsx'],
};

export default withMDX(nextConfig);

3. 验证GFM语法是否生效

创建测试MDX文件(如app/test.mdx),写入GFM特性代码:

### GFM测试

- [x] 完成任务1
- [ ] 待完成任务2

| 列1 | 列2 |
|-----|-----|
| 内容A | 内容B |

启动Next.js开发服务器访问/test,若任务列表、表格正常渲染,说明插件已生效。

4. 排除Tauri构建缓存问题

Tauri本身不会干扰Next.js的MDX编译逻辑,若单独运行Next.js正常、Tauri环境异常,可尝试:

  • 删除.next和src-tauri/target目录
  • 重新执行npm install
  • 重新启动Tauri开发服务

5. 确认MDX组件未覆盖默认渲染

你的mdx-components.tsx当前仅返回默认组件,若需自定义样式可扩展,但不要覆盖GFM相关的基础渲染组件:

import type { MDXComponents } from 'mdx/types'

export function useMDXComponents(components: MDXComponents): MDXComponents {
  return {
    ...components,
    // 可在此添加自定义组件映射,比如表格样式
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 01:50:54