ThinkJS2.1版本支持TypeScript,性能大幅提升借鉴了国内知名的PHP框架ThinkPHP。ThinkJS2.0版本发布于2015年10月30日,在1.0版本的基础上做了很多改进。具有更全面的功能,可扩展性,支持ES6/7特性。今天,ThinkJS2.1版本正式发布。它不仅支持TypeScript,在性能上也有显着提升,具体如下:1:支持TypeScriptTypeScript是微软开发的一种免费开源的编程语言。它是JavaScript的超集,为语言添加了可选的静态类型,在大型项目中很有用。ThinkJS2.1开始支持创建TypeScript类型项目,在开发过程中会自动编译更新,无需手动编译等复杂操作。具体如下:1.创建TypeScript工程2..d.ts文件3.将现有工程升级为TypeScript工程修改入口文件修改package.json修改.thinkjsrc下载think.d.ts描述文件修改文件后缀,并在项目文件中添加描述文档2:性能提升评价一个框架是否优秀,一方面看其支持的功能,另一方面看性能。ThinkJS虽然更适合大型项目,功能和复杂度远超Express和Koa,但性能不比Express和Koa差多少。具体测试数据见下图。注:以上数据使用分布式压力测试系统测试。从上图的测试数据可以看出,虽然ThinkJS的性能比Express和Koa稍差,但差别并不大。ThinkJS和Sails.js都更适合大型项目,但是ThinkJS的性能比Sails.js高很多。具体的测试代码可以参考:https://github.com/thinkjs-team/thinkjs-performance-test,可以下载代码本地测试。如果您使用ab测试工具,请注意该工具在Mac系统下非常不稳定。多次测试的结果会有很大差异。三:更多的特性除了以上两个突出的特性,ThinkJS2.1还有更多的特性如下:执行http和controller添加显示别名方法render添加串行执行方法think.waterfallValidate支持定时fetch支持数据传输逻辑支持判断请求类型定时任务支持直接调用actionBabel升级到6国际化语言不再区分大小写会搞定模板文件内容改为异步http对象,不再继承自EventEmitter类。think.mode_mini模式被移除。控制器支持子目录数据库配置。复制过滤.svn、.git等隐藏类型的文件,将文件bin/index.js移动到src/command.js运行目录到项目根目录,添加think.RUNTIME_PATH路径常量适配器类型到增加自动转小写功能,提示添加thinkData,用于缓存系统常用数据。合并think.locale和controller.locale方法。修复找不到nunjucks模板继承文件的问题。file方法返回的数据被修改,导致源数据被修改。修复路径中/需要替换为\\的问题。修复nunjucks下模板文件不在根目录下的问题。导出敏感数据的错误修复开发模式下,JSON数据解析失败后没有报错信息。定位不佳的问题已修复。修改视图root_path后,创建模块时不会更新视图路径。required|int规则验证不正确。修复RESTAPI不支持逻辑的问题。修复输入字段名称为关键字时count方法会报错的问题。内容来源:官网:https://thinkjs.org/document:https://thinkjs.org/en/doc。网页格式
