跳到正文
QuireKit
Core 开发文档
Alpha · API 持续演进

建立第一个编辑器

从一个 Vue 组件开始,理解创建、挂载和销毁。

这一章先做一件事:在 Vue 页面中放入能输入、选择和撤销的编辑器。先用浏览器原生 DOM 视图理解 Core 的用法,后面的章节再加入 Canvas、分页和产品界面。

你需要了解 Vue 的组件和生命周期,并准备 Node.js 与 pnpm。已有 Vue 3 项目可以直接从安装依赖开始。

1. 准备 Vue 项目

终端sh

这几个包各负责一件事:core 管理文档和命令,starter-kit 提供段落、标题、粗体等常用能力,dom-view 把文档显示为可编辑的 DOM。pm-view 的基础样式保留正文空白和原生选区的显示方式。QuireKit 包应使用同一发布批次。

2. 创建编辑器组件

新建 src/Editor.vue。Vue 负责提供一个空元素;Editor 在组件挂载后接管这个元素中的编辑内容。

src/Editor.vuevue

element 指定显示位置,extensions 决定可以编辑哪些内容,content 是初始正文。mode: 'dom' 选择刚安装的 DOM 视图。创建一次即可,文字输入时不需要重新创建 Editor。

onMounted 保证挂载元素已经存在;destroy() 释放编辑视图和监听器。因此这段组件也可以放在带 SSR 的应用中:服务端只渲染外层元素,编辑器在浏览器中创建。

3. 放到页面里

在 src/App.vue 中导入并使用组件,然后运行 pnpm dev。

src/App.vuevue

你应该能点击正文输入,拖动选择文字,并通过系统快捷键撤销。下面运行的是同样的接入方式,可以直接试用;源码只有一个组件文件。

正在准备示例…

接下来增加什么

现在有了编辑器的骨架,但还没有工具栏和分页工作区。下一章先解释文档模型:为什么正文要存成结构化数据,以及普通文章和 Word 文档为什么需要不同的扩展。随后挂载 View会把 DOM 视图换成 Canvas/SVG。

如果你已经熟悉这些基础,可以直接查阅完整工作区示例。它包含文件操作和状态管理,每个文件的用途在该页单独说明。

QuireKitQuireKit · Core、插件与 Classic 文档