Skip to content

Commit a230c65

Browse files
committed
add plugin.why
1 parent fbda252 commit a230c65

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

content/docs/Hydro/dev/typescript.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,22 @@
22
title: 使用 TypeScript 编写插件
33
---
44

5-
前置条件:NodeJS>=18
6-
此教程将以编写剪贴板插件为例进行说明。
5+
## Step0 为什么使用插件?
6+
7+
如果您参与过其他工程项目的开发,经常会遇到以下的痛点:
8+
9+
- 若修改前端源代码,需要重新编译打包前端,编译通常消耗大量的内存与时间,且编译完成后需要重启服务,用户侧资源缓存也会全部失效;
10+
- 修改代码后,尝试更新系统时,自己的修改被新版本覆盖,需要手动合并(或是直接丢失了更改),极大幅度增加维护成本;
11+
- 第三方社区出现的大量修改分支无法直接按需求进行组合/拼装,或是功能间存在冲突;
12+
13+
基于以上痛点,Hydro 开创性的使用了插件系统,提供了一套完整的开发 API 供开发者使用,开发者基于提供的较稳定的 API 进行功能的编写,而无需过多关心内部实现,在多个版本间达到一致性,同时提供热重载功能,提升开发效率。
14+
15+
此教程将以编写剪贴板插件为例进行插件开发的说明。
716

817
## Step1 初始化项目
918

19+
前置条件:NodeJS>=22
20+
1021
使用 `hydrooj addon create` 快速在 `/root/addon` 下初始化一个插件或是在一个空文件夹中运行 `yarn init` 并按照提示填写相关信息。
1122

1223
```sh

0 commit comments

Comments
 (0)