Sword.js
一个运行在Server和Serverless上的Nodejs框架
TypeScript运行时类型校验
在TypeScript中,我们可以通过类型系统来检查代码的运行时类型。
毫秒级启动和构建
就算你有数百个接口,也不会给你喝茶的功夫
> sword dev
ℹ 启动入口文件: src/index.ts
ℹ 正在监听工程中的src/api文件夹...
✔ API.Schema加载成功
2022-4-9 20:28:59 HTTP服务启动中...
2022-4-9 20:28:59 程序运行在3000端口上
文件系统就是路由
最自然的树形结构就能代表路由,我们为什么还要配置文件呢?
|- src
|- api
|- product
|- add
|- index.ts
|- proto.ts
// 当前路由是:POST http://localhost:3000/api/product/add
import { useApi, POST } from '@swordjs/sword-framework';
import { ReqQuery, ReqParams, Res } from './proto';
export const main = useApi<{
query: ReqQuery;
params: ReqParams;
res: Promise<Res>;
}>({
instruct: [POST()],
handler: async (ctx) => {
return {
message: 'hello'
};
}
});
一键生成API文档
不与业务耦合, 在Proto中写一段注释, 就可以生成Markdown & OpenAPI文档
/**
* 这是hello接口
* 1
*/
export interface ReqParams {
}
export interface ReqQuery {
/**
* id
* 编号
*/
id: string,
/**
* nickname
* 昵称
*/
nickname?: string,
}
/**
* 返回的res是一个string
* 这里不用返回其他信息
*/
export type Res = string;
Hook API设计
异步函数编程风格, 轻量级超低学习门槛, 让你快速开发云函数
开箱即用的开发套件
我们提供了一些开发套件,可以帮助我们快速开发

初始化工程

便捷符创建API组

编译多平台产物

VSCODE插件