构建能力扩展

Modern.js Builder

Rspress 底层基于 Modern.js Builder 的 Rspack 模式来进行文档构建。

Modern.js Builder 提供了丰富的构建配置,你可以使用 builderConfig 来自定义这些配置项。比如,将产物目录修改为 doc_dist

rspress.config.ts
import { defineConfig } from 'rspress/config';

export default defineConfig({
  builderConfig: {
    output: {
      distPath: {
        root: 'doc_dist',
      },
    },
    tools: {
      rspack(options) {
        // 修改 rspack 的配置
      },
    },
  },
});
TIP

你可以通过 Modern.js Builder - API 的文档来了解更多的配置项。

注意,Rspress 仅支持 Rspack 打包工具,因此一些与 webpack 相关的配置项将无法生效,比如 tools.webpack。当然,你可以通过 tools.rspack 来修改 Rspack 的配置。

MDX 编译插件

在框架中 MDX 的编译基于 unified 完成,你可以通过 markdown 配置来添加相关的编译插件。比如

rspress.config.ts
import { defineConfig } from 'rspress/config';

export default defineConfig({
  markdown: {
    remarkPlugins: [
      [
        require('remark-autolink-headings'),
        {
          behavior: 'wrap',
        },
      ],
    ],
    rehypePlugins: [require('rehype-slug')],
  },
});
注意

仅 JS 版本的 MDX 编译器支持编译插件,这意味着如果你开启了 mdx-rs 编译器,你需要在配置文件中去掉 markdown.experimenalMdxRs: true 配置项。