wok-server
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

Wok Server

一个简洁易用的 Nodejs 后端框架,使用 Typescript 开发,有完整的类型约束和定义,注释详细,文档齐全,支持国际化。

主要功能:配置,日志,国际化,校验,缓存,MVC,mysql,mongodb ,周期任务 。

查看文档

优点

  • 学习成本较低,函数式为主,少量面向对象,未使用代理和装饰器等增强技术
  • 功能简单,使用方便,保持克制,不引入太多特性
  • 轻量封装,最大限度兼容已有生态,支持集成第三方 http 相关的库来处理请求
  • 支持国际化,自带多种语言的支持,国际化内容支持扩展
  • 有完整的类型约束和定义,结合 IDE 的代码补全功能,开发效率高
  • 注释详细,文档就在代码中,方法和参数都有详细说明,可在 IDE 的辅助下方便查看

Hello world

安装:

npm i wok-server --save

入口文件:

import { startWebServer } from 'wok-server'

startWebServer({
  routers: {
    '/': async exchange => exchange.respondText('Hello world !')
  }
}).catch(e => {
  console.error('Start server failed', e)
})

上面的代码启动了 web 服务,访问路径 http://localhost:8080 将输出文本 “Hello world !”。

相关的设置可以通过环境变量来修改,查看完整文档了解细节。

一些问题的说明

为什么直接集成依赖库

项目中对 mysql 客户端和 mongodb 的驱动直接打包集成了,也没有将这两个组件 单独拆分成一个独立的包以供按需引入。这样做是为了方便,不需要安装那么多包,安装的包多了 之后,还有可能需要解决依赖冲突问题,找到版本匹配的包,使用和维护都麻烦。对于后端程序来说, 体积大一些问题也不大。

为什么部分可选功能需要第三方库,而又没有集成

对于 wesocket 和文件上传等功能,框架没有实现,而是需要使用者引入第三方库,框架没有集成这些库。 这些库是基于 Nodejs 内置的模块 http,不用担心与框架的兼容性问题,框架只要保持支持即可, 也可以充分利用已有的生态,不需要专门为框架编写扩展。

Dependents (0)

Package Sidebar

Install

npm i wok-server

Weekly Downloads

8

Version

0.2.2

License

ISC

Unpacked Size

416 kB

Total Files

219

Last publish

Collaborators

  • peaktai