Daruk 是一款基于 Koa2,利用 Typescript 开辟的沉量级 web 框架Daruk 的初志是让人们能够更便利的开辟 Nodejs Web 使用并可以或许领会到 Typescript 编程的兴趣。
Daruk 自己 100%基于 Typescript 开辟,利用 inversifyjs 的 IoC 容器办理依靠,闪开发者享用最好的 OOP 和 IoC 的编程体验Daruk1.0 公布的时间,我们供给了基于 Koa 的商定格局模块减载机制,并利用了 Typescript 去重构了内乱部的 Daruk 版本,可是我们发明正在利用的过程当中(1年多)的工夫里,根据目次商定和足脚架的开辟方法,照旧会给开辟者带去诸多未便,而且框架并出有那末的 ts 化滋味。
以是我们针对上里的Question,正在颠末利用 InversifyJS 重构后的2.0,本日终究正式公布了装置和利用 Daruk2.0会将十分的便利,新脚进门也很轻易,可让开辟者,特别是 koa 开辟者更便利的领会到 ts 编写后端代码的便当。
假如您出有打仗过 nestjs,可是您又念利用 IoC 编程模子去举行后端 nodejs 营业开辟,Daruk2.0是您一个很好的出发点和开端npm add daruk ts-node typescript。
装置终了后,设置 tsconfig 文件:{"compileOnSave":true,"compilerOptions":{"target":"es2022","module":"commonjs","sourceMap"
:true,"outDir":"./build","rootDir":"./src","typeRoots":[],"types":[],"experimentalDecorators":true,"emitDecoratorMetadata"
:true},"exclude":["node_modules"],"include":["./src/**/*.ts"]}利用 daruk 编写 web 办事:import{DarukServer,controller
,get,DarukContext}from"daruk";(async()=>{constmyapp=DarukServer();@controller()classIndex{@get("/")public
asyncindex(ctx: DarukContext){ctx.body="hello world";}}awaitmyapp.binding();myapp.listen(3000);})();编写 npm script:
{"scripts":{"dev":"ts-node --project tsconfig.json --files src/index.ts","build":"tsc"}}有哪些更新?内乱置了 koa-body,没有再必要散成内部中心件。
利用 InversifyJS 举行重构,对中表露大批粉饰器对开辟者类供给本领新删内乱置了多个 request 和 response 链路的要领粉饰器供给了 plugin 插件的机制,内乱部 build_in 的年夜部门模块也是基于插件开辟的。
简化了 API 和目次商定方法,没有再依靠 daruk-cli,能够更便利的本身定制足脚架和开辟目次美满了教程文档和 typedoc谢谢:谢谢 @whale 初版的开辟和正在公司内乱部大批的利用体验,定见反应。
谢谢 @年夜Victor (里包)对部门哀求粉饰器本领的开辟谢谢 @Manjusaka 对主动化 CI 部门的孝敬谢谢 Daruk 微信群里列位开辟者供给的利用体验谢谢 Darukjs 的17名contributors。
以后专栏会没有按时更新部门源码剖析和利用案例。谢谢各人存眷 Darukjs。https://github.com/darukjs/darukgithub.com/darukjs/daruk
椰子350v2球鞋网打造最新SNEAKER资讯和信息交换社区,包括最新的潮流新闻、球鞋发售信息、SNEAKER喜好者交换平台。
|