近日,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)\\t
- 支持多种项目结构和多种项目环境\\t
- 支持 Mysql,MongoDB,SQLite 等多种数据库\\t
- 代码自动更新,无需重启 Node 服务\\t
- 支持 socket.io,SockJS 等多种 WebSocket 库\\t
- 支持 Memory,File,Db,Redis 等多种 Session\\t
- 支持 Memory,File,Redis,Memcache 等多种 Cache\\t
- 支持 ejs,jade,swig,numjucks 等多种模版引擎\\t
- 支持切面编程,支持 before,after 等多种魔术方法\\t
- 支持自定义 400,404,500,503 等多种错误页面\\t
- 支持命令行调用和执行定时任务\\t
- 丰富的 Hook 和 Middleware\\t
- 详细的日志,如:请求日志、错误日志、性能日志\\t
- 支持命令自动创建 REST API\\t
- 支持国际化和多主题\\t
- 丰富的测试用例,1500+ 测试用例,代码覆盖率 \u0026gt; 95%\
从特性可见,ThinkJS将多个Node.js主流模块进行集成,降低了开发门槛,省去了项目初始配置的麻烦,同时开发者在每个模块都有多个方案可以选择。不过某些深度集成的模块无法被方便的替换,比如Babel。
\\