Skip to content

@snail-js现代的API请求管理,专注模板的富文本编辑器,基于`element plus`扩展的组件

请求管理、模板文档编辑器、vue扩展组件。同时提供请求自动化生成cli。

文档导览 ​

@snail-js 是一组围绕同一套约定的前端工具包。四个包的共同前提只有两条:传输层用 axios,以及可选能力一律按需引入,所以不用的东西不会进你的 bundle。

包它解决什么从哪看起
@snail-js/api用装饰器描述接口,用插件承载缓存、校验、转换、请求池快速上手 · API 参考
@snail-js/cli把 OpenAPI 文档变成上面那种接口类snail generate
@snail-js/editor合同模板的编写、变量填充与打印快速开始
@snail-js/vueElement Plus 没有的图标,以及几个自用组件组件总览

从这里开始(@snail-js/api) ​

我想……看这一页
知道它是什么、和手写 axios 封装的区别简介与设计原则
五分钟跑通第一个请求快速上手
配好 TypeScript(需要哪些开关、为什么不需要 reflect-metadata)TypeScript 配置
查某个装饰器怎么用装饰器、参数装饰器
处理 { code, message, data } 与类型推断响应与类型
分支处理各种失败错误处理
订阅请求事件(success / error / finish / cache)方法事件
逐项核对 @Server(...) 的默认值服务端配置
在 Node / SSR 里用同一个库在服务端运行(Node / SSR)
接 SSE / WebSocket / 流式响应SSE / WebSocket / HTTP 流
装插件,或者自己写一个使用插件、编写插件
查某个内置插件的选项缓存、请求池、拦截器、版本、校验、转换
让 method.meta 变成响应式框架适配器 Vue / React
用 useRequest 之类的请求策略策略概览,每个 hook 各有参考页(useDownload、useRequest …)
从旧的 0.1.x 迁过来从 0.1.x 迁移

核心与可选能力分开导入

核心永远是 import { SnailServer, Server, Api, Get } from "@snail-js/api";可选能力是 @snail-js/api/plugins、@snail-js/api/strategies,以及两个框架适配器子路径 @snail-js/api/adapter/vue / @snail-js/api/adapter/react。这样打包器才能把用不到的缓存、 校验器和适配器整块摇掉 —— 尤其是 vue / react:只有这两个 adapter 子路径会静态引入它们。

框架适配器是一个 server 选项,不是插件

@Server({ stateAdapter }) 一次声明同时决定 method.meta 上的句柄和每个 use* 策略返回的 状态;不写它就是默认的 SnailAdapter(普通 { value } 盒子,不 import 任何框架)。详见 框架适配器:把一个框架从插件改成选项,是因为插件与「进程级注册」的旧组合 让同一个进程里的两个 server 无法使用不同框架。

基于 MIT 许可发布