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

如何调整Docusaurus的Webpack配置适配@stoplight/json-schema-viewer组件?

解决Docusaurus中@stoplight/json-schema-viewer组件的Webpack配置问题

当在Docusaurus中使用@stoplight/json-schema-viewer时,若按旧方案调整Webpack配置未生效,可按以下步骤排查修复:

1. 修正Webpack配置(适配新版Docusaurus)

旧方案可能针对早期Docusaurus版本,新版需在docusaurus.config.js中通过webpack.configure字段修改配置,确保转译@stoplight相关依赖:

module.exports = {
  // 其他原有配置...
  webpack: {
    configure: (config) => {
      config.module.rules.push({
        test: /\.js$/,
        include: [
          require.resolve('@stoplight/json-schema-viewer'),
          require.resolve('@stoplight/mosaic'),
          require.resolve('@stoplight/prism-syntax-highlighter'),
          require.resolve('@stoplight/ui-kit'),
        ],
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@docusaurus/babel-preset'],
          },
        },
      });
      return config;
    },
  },
};

2. 安装必要的Babel依赖

若项目未安装相关依赖,执行以下命令:

npm install --save-dev babel-loader @docusaurus/babel-preset

3. 清理缓存并重启服务

Docusaurus会缓存Webpack配置,修改后需清理缓存再启动:

npm run clear
npm run start

4. 引入组件样式文件

@stoplight/json-schema-viewer需要加载自身样式,在你的json_schema.tsx中添加:

import "@stoplight/json-schema-viewer/dist/index.css";

5. 排查控制台错误

若仍有问题,查看浏览器控制台的错误信息:

  • 若出现Unexpected token 'export'等语法错误,说明还有未被转译的依赖包,将其添加到Webpack配置的include列表中
  • 若出现样式缺失,确认样式文件是否正确引入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:00:23