react-ai-renderer 0.1.10 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -17
- package/dist/index.cjs +16464 -16697
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16464 -16697
- package/dist/index.js.map +1 -1
- package/package.json +14 -3
package/README.md
CHANGED
|
@@ -58,23 +58,6 @@ yarn add react-ai-renderer
|
|
|
58
58
|
|
|
59
59
|
### 可选依赖
|
|
60
60
|
|
|
61
|
-
#### 1. KaTeX(数学公式渲染)
|
|
62
|
-
|
|
63
|
-
本库支持使用 KaTeX 渲染数学公式,但需要在你的项目中手动导入 CSS:
|
|
64
|
-
|
|
65
|
-
**在 _app.tsx 或全局样式文件中添加:**
|
|
66
|
-
```tsx
|
|
67
|
-
import 'katex/dist/katex.min.css';
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Next.js 项目中:**
|
|
71
|
-
```tsx
|
|
72
|
-
// pages/_app.tsx 或 app/layout.tsx
|
|
73
|
-
import 'katex/dist/katex.min.css';
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
#### 2. Mermaid(图表渲染)
|
|
77
|
-
|
|
78
61
|
本库支持渲染 Mermaid 图表,但需要安装额外的依赖:
|
|
79
62
|
|
|
80
63
|
```bash
|
|
@@ -85,6 +68,9 @@ npm install mermaid
|
|
|
85
68
|
|
|
86
69
|
## 🎯 快速开始
|
|
87
70
|
|
|
71
|
+
> 💡 **开发调试?** 查看 [开发模式使用指南](./DEVELOPMENT.md) 了解如何在本地开发和调试本库。
|
|
72
|
+
> 🔥 **使用监听模式开发?** 运行 `npm run watch` 启动自动监听和重新构建,修改代码后自动更新!
|
|
73
|
+
|
|
88
74
|
### 基础使用
|
|
89
75
|
|
|
90
76
|
```tsx
|
|
@@ -327,6 +313,52 @@ graph TD
|
|
|
327
313
|
4. Component Renderer 渲染自定义 UI 组件
|
|
328
314
|
5. 触发生命周期钩子,执行后续动作
|
|
329
315
|
|
|
316
|
+
## 🔧 Next.js 集成
|
|
317
|
+
|
|
318
|
+
本库已完全兼容 Next.js 的服务器端渲染(SSR)。
|
|
319
|
+
|
|
320
|
+
### 在 Next.js 中使用
|
|
321
|
+
|
|
322
|
+
```tsx
|
|
323
|
+
// app/your-page/page.tsx 或 pages/your-page.tsx
|
|
324
|
+
import ReactAIRenderer from 'react-ai-renderer';
|
|
325
|
+
|
|
326
|
+
export default function YourPage() {
|
|
327
|
+
const content = `
|
|
328
|
+
# 你好,Next.js!
|
|
329
|
+
|
|
330
|
+
这是一个在 Next.js 中使用 React AI Renderer 的示例。
|
|
331
|
+
`;
|
|
332
|
+
|
|
333
|
+
return (
|
|
334
|
+
<div>
|
|
335
|
+
<ReactAIRenderer>{content}</ReactAIRenderer>
|
|
336
|
+
</div>
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### 需要客户端组件的场景
|
|
342
|
+
|
|
343
|
+
如果需要在 Next.js 13+ 的 App Router 中使用交互式组件(如按钮点击等),需要使用 `'use client'` 指令:
|
|
344
|
+
|
|
345
|
+
```tsx
|
|
346
|
+
// app/your-page/client-renderer.tsx
|
|
347
|
+
'use client';
|
|
348
|
+
|
|
349
|
+
import ReactAIRenderer from 'react-ai-renderer';
|
|
350
|
+
|
|
351
|
+
export default function ClientAIRenderer({ content }: { content: string }) {
|
|
352
|
+
return <ReactAIRenderer>{content}</ReactAIRenderer>;
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### 注意事项
|
|
357
|
+
|
|
358
|
+
- ✅ 本库已添加 SSR 安全检查,不会在服务器端访问 `document` 或 `window` 对象
|
|
359
|
+
- ✅ 可以在服务器端安全使用,无需额外配置
|
|
360
|
+
- ✅ 动态功能(如 Mermaid 图表)会自动在客户端渲染
|
|
361
|
+
|
|
330
362
|
## ❓ 常见问题
|
|
331
363
|
|
|
332
364
|
### Q: React AI Renderer 与 react-markdown 有什么区别?
|
|
@@ -338,6 +370,9 @@ A: 未注册的组件会自动转换为对应的文本表示形式,不会导
|
|
|
338
370
|
### Q: 是否支持不同组件库如antd,shadcn等
|
|
339
371
|
A: 是的,React AI Renderer 无组件依赖,你可以使用任意组件库以及自定义组件
|
|
340
372
|
|
|
373
|
+
### Q: 在 Next.js 中出现 "document is not defined" 错误怎么办?
|
|
374
|
+
A: 请确保使用最新版本(v0.1.12+),该版本已完全修复 SSR 兼容性问题。如果仍有问题,请检查是否正确安装了依赖并清理 Next.js 缓存。
|
|
375
|
+
|
|
341
376
|
### Q: 性能如何优化?
|
|
342
377
|
A: 建议合理使用组件生命周期钩子,避免在渲染过程中执行耗时操作。
|
|
343
378
|
|