当前位置: 首页 > 后端技术 > Node.js

ThinkJS3.0正式版发布!

时间:2023-04-03 15:59:51 Node.js

ThinkJS是一个面向未来的Node.jsWeb框架,致力于整合项目最佳实践,标准化项目,让企业级团队开发更简单、更高效。我们的Github地址是:https://github.com/thinkjs/th...欢迎大家star~当ThinkJS2.x发布的时候,虽然我们带来了很多很棒的特性,但是我们也意识到了我们所欠缺的。针对这些问题,经过开发团队几个月的潜心开发,我们很高兴地宣布ThinkJS迎来了全新的3.0大版本。目前这个版本已经在很多线上项目中使用,大家可以通过简单的命令下载使用:npminstall-gthink-cli有哪些更新?如前所述,我们开发了一个新版本以解决以前的不足。下图显示了我们新版本的架构。除了引入全新的架构,高度解构框架之外,我们还增加了很多新的功能,优化了被人诟病的旧版本的使用方式。让我们详细了解一下更新。基于Koa重构框架架构与之前使用自己的集成架构相比,3.0最大的变化是基于Koa重构了底层架构。重构后的ThinkJS3.0版本全面兼容Koa的中间件。使用Koa重构有几个原因:Koa现在比较稳定,洋葱模型的中间件更能满足多维度的需求,中间件生态逐渐成熟。这些都是ThinkJS以前没有的。基于Koa,可以站在巨人的肩膀上,做的更好。Koa2.0使用更优雅的async/await来解决异步问题。这个理念和ThinkJS是完全一致的。这些ESnext语法特性在带有Babel的ThinkJS2.x版本中可用。随着即将发布的Node8.xLTS,在原生支持async/await后,我??们可以直接在生产环境中使用,无需使用Babel翻译。精简核心,支持扩展和适配器ThinkJS2.x版本内置了很多功能,这些功能基本上是很多项目的最佳实践,但并不是每个项目都需要这些功能,但是基于2.x是非常困难的为架构实现这一要求。所以ThinkJS3.0版本在基于Koa重构后得到了精简。它不再提供丰富的功能,而是提供一个基本的内核,然后再进行扩展以满足更多的需求。多进程模型ThinkJS2.x单进程为可选配置,框架设计相对简单,很多功能需要开发者手动处理。我们在3.0版本开发了think-cluster模块,直接构建多进程模型,最大限度的利用多核CPU提高响应速度。同时提供了一套进程间的通信方式,如:通知其他进程执行某项任务,在线更新代码后重启所有子进程等。智能错误提示Node.js开发中比较头疼的问题之一就是错误处理。遇到问题之后再去查找和定位问题很麻烦,尤其是使用了Babel翻译之后。为此,我们专门开发了think-trace模块,用于跟踪错误问题,可以更友好的捕获和展示错误堆栈信息。除了!除了刚刚提到的一些功能,我们还有一些更新要告诉大家:新增think-crontab模块,加强框架的定时任务功能,重构日志功能,基于think-logger3模块构建框架日志系统并重构框架数据库操作逻辑,增加think-model、think-mongoose、think-sequelize模块,完善框架的数据库操作功能。感谢所有使用ThinkJS框架的用户。感谢您多年来的支持。是你们的存在,给了我们走得更远的勇气。当然,我们还需要感谢所有为ThinkJS项目做出过贡献的贡献者,包括代码贡献和文档贡献。你的努力让ThinkJS越来越好!如果您没有时间帮助贡献代码,并希望以其他方式支持我们,您也可以通过捐赠来支持我们。您的捐款将用于帮助推广ThinkJS。感谢大家,让我们一起拥抱ThinkJS,期待更美好的未来!