近日,JavaScript MVC 框架 ThinkJS 发布 2.0 版本,在 1.0 版本的基础上做了大量改进,功能更加全面,具备可扩展性,并且支持 ES 6/7 特性。
ThinkJS 由 360 奇舞团前端工程师李成银( welefen )主导设计和开发,在命名和项目结构上大量借鉴了 ThinkPHP 这个在国内知名度很高的 PHP 框架。其 1.0 版本在 2014 年 9 月份发布,不过 2.0 版本重新设计了架构并添加了诸多新特性,新的 ThinkJS 旨在让开发 Node.js 项目更加简单、高效。
ThinkJS 2.0 版本的特性包括:
- 使用 ES6/7 全部特性来开发项目(基于 Babel)
- 支持多种项目结构和多种项目环境
- 支持 Mysql,MongoDB,SQLite 等多种数据库
- 代码自动更新,无需重启 Node 服务
- 支持 socket.io,SockJS 等多种 WebSocket 库
- 支持 Memory,File,Db,Redis 等多种 Session
- 支持 Memory,File,Redis,Memcache 等多种 Cache
- 支持 ejs,jade,swig,numjucks 等多种模版引擎
- 支持切面编程,支持 before,after 等多种魔术方法
- 支持自定义 400,404,500,503 等多种错误页面
- 支持命令行调用和执行定时任务
- 丰富的 Hook 和 Middleware
- 详细的日志,如:请求日志、错误日志、性能日志
- 支持命令自动创建 REST API
- 支持国际化和多主题
- 丰富的测试用例,1500+ 测试用例,代码覆盖率 > 95%
从特性可见,ThinkJS 将多个 Node.js 主流模块进行集成,降低了开发门槛,省去了项目初始配置的麻烦,同时开发者在每个模块都有多个方案可以选择。不过某些深度集成的模块无法被方便的替换,比如 Babel。
类似的 Node.js 框架有 Sails 、 Meteor ,不过 ThinkJS 是国人研发,更贴近国内的真实需求。
评论