ThinkJS 3.0 正式版发布!

ThinkJS 是一款拥抱将来的 Node.js Web 框架,致力于集成项目最佳实践,规范项目让企业级团队开发变得更加简单,更加高效。咱们的 Github 地址是:https://github.com/thinkjs/th... 欢迎你们 star~html

ThinkJS 2.x 发布的时候,虽然咱们带来了不少很是棒的功能,但咱们也意识到自己的不足。针对这些问题,开发团队通过几个月的紧张开发,咱们很高兴的宣布,ThinkJS 迎来了新的大版本 3.0。目前该版本已经在线上多个项目中使用,简单一个命令就可让你下载使用它:git

npm install -g think-cli

有哪些更新?

正如以前所说,为了解决以前遗留的不足问题咱们开发了新版本,下图为咱们新版的架构图。github

除了引进了新的架构,对框架进行高度解构外,咱们还增长了不少新的功能,优化了老版为人诟病的用法,下面就让咱们来具体看看有哪些更新吧。数据库

基于 Koa 重构框架架构

相较于以前使用自身集成架构,3.0 最大的改变就是将底层架构基于 Koa 重构。重构以后的 ThinkJS 3.0 版本能彻底兼容 Koa 的中间件。使用 Koa 重构主要有下面几个缘由:npm

  • Koa 如今已经比较稳定,洋葱模型的中间件更能知足多维度的需求,同时中间件生态已经慢慢成熟。这些都是 ThinkJS 以前所不具有的,基于 Koa 后就能够站在巨人的肩膀上,能够作的更好。
  • Koa 2.0 中使用更优雅的 async/await 解决异步问题,这个理念和 ThinkJS 是彻底一致的。借助 Babel 在 ThinkJS 2.x 版本中就可使用这些 ES next 语法功能。随着 Node 8.x LTS 的即将发布, async/await 被原生支持后咱们就能够不用借助 Babel 转译直接在生产环境中使用了。

精简核心,支持扩展和适配器

ThinkJS 2.x 版本内置了不少功能,这些功能基本上是不少项目的最佳实践,但并不一是每一个项目都须要这些全部的功能,但基于 2.x 的架构要实现这个需求就很是困难。因此 ThinkJS 3.0 版本基于 Koa 重构后在这块作了精简,再也不提供丰富的功能,而是提供一个最基本的核心,而后经过扩展知足更多的需求。bash

多进程模型

ThinkJS 2.x 单进程是可选配置,且框架设计较为简单,不少功能须要开发者手动处理。咱们在 3.0 中开发了 think-cluster 模块直接内置了多进程模型,最大限度的利用多核 CPU 提升响应速度。 同时,提供一套进程之间通讯的方式,如::通知其余进程执行某个任务,代码在线更新后重启全部的子进程。架构

智能的错误提示

Node.js 开发中一个比较头疼的问题就是错误处理问题,遇到问题后查错和定位问题后比较麻烦,尤为是使用了 Babel 转译以后,为此咱们专门开发了 think-trace 模块用来跟踪错误问题,可以更加友好的捕捉显示错误堆栈信息。框架

还有!

除了刚才说的一些功能,咱们还有一些其它的更新要告诉你们:异步

感谢

最后感谢全部使用 ThinkJS 框架的用户,感谢大家多年来的支持,是大家的存在让咱们有了更进一步的勇气。固然还须要感谢全部为 ThinkJS 项目作过贡献的贡献者,包括代码贡献和文档贡献,大家的努力让 ThinkJS 变的愈来愈棒!若是没时间帮助贡献代码想用其它方式支持咱们也能够经过捐赠的方式支持咱们,大家的捐赠会用来帮助 ThinkJS 推广。感谢大家全部人,让咱们一块儿拥抱 ThinkJS,期待更美好的将来吧!async

相关文章
相关标签/搜索