Skip to content

Demo模块化

在Demo书写时,你可能有以下需求:

  • Demo源码量较大,不便于维护,也不便于库学习者阅读。

  • Demo之间可能共用配置数据、业务数据、或其他组件,这些数据或组件你也期望作为Demo的一部分展示给库学习者,甚至支持他们编辑。

在上述情况下,Sutras 支持你将Demo拆分为多个文件。

Demo模块化设置

假设你要书写Layout组件基础使用的Demo,其中,Layout.Sider中所包含的Menu数据,你期望独立成一个文件menu-data.ts:

text
.
├─ src
│  ├─ demos
│  │  ├─ layout
│  │  │  ├─ basic.vue /** Layout Demo */
│  │  │  ├─ menu-data.ts /** MenuData */
│  │  │  └─ ...
│  │  └─ ...

那么你可以在Demo入口文件basic.vue中,通过Demo设置项includes来包含menu-data.ts文件:

vue
<docs lang="md">
---
includes: ["menu-data"] // 或 ["menu-data.ts"] 或 ["./menu-data"] 或 ["./menu-data.ts"]
---
</docs>
Bill is a cat.
Ant Design ©2018 Created by Ant UED
Default
expand codecollapse code

文档中也有其他使用案例

模块热替换(Hot Replacement)

在REPL模式中,每个模块文件是独立编译的,如上述例子中,你的库学习者编辑了menu-data.ts文件后,Sutras将只会对menu-data.ts文件进行单独编译。

基于 MIT 许可发布