阅读更多
ThinkJS是一款使用ES6/7特性全新开发的Node.js MVC框架,使用ES7中async/await,或者ES6中的Generator Function特性彻底解决了Node.js中异步嵌套的问题。同时吸收了国内外众多框架的设计理念和思想,让开发Node.js项目更加简单、高效。

使用ES6/7特性来开发项目可以大大提高开发效率,是趋势所在。并且新版的Node.js对ES6特性也有了较好的支持,即使有些特性还没有支持,也可以借助Babel编译来支持。
//控制器代码示例, home/controller/user.js
export default class extends think.controller.base {
  //login action
  async loginAction(self){
    //如果是get请求,直接显示登录页面
    if(this.isGet()){
      return this.display();
    }
    //这里可以通过post方法获取所有的数据,数据已经在logic里做了校验
    let data = this.post();
    let md5 = think.md5('think_' + data.pwd);
    //用户名和加密后的密码去匹配数据库中对于的条目
    let result = await this.model('user').where({name: data.name, pwd: md5}).find();
    //如果未匹配到任何数据,表示用户名或者密码错误
    if(think.isEmpty(result)){
      return this.fail('login fail');
    }
    //获取到用户信息后,将用户信息写入session
    await this.session('userInfo', result);
    return this.success();
  }
}

项目中可以大胆使用ES6/7里的所有特性,借助Babel编译,可以稳定运行在>=0.12.0的Node.js环境中。

特性
  • 使用ES6/7全部特性来开发项目;
  • 支持多种项目结构和多种项目环境;
  • 支持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%。

安装
npm install -g thinkjs

创建项目
thinkjs new project_path --es6  

http://www.thinkjs.org/doc/create_project.html
Watch Compile
cd project_path;
npm run watch-compile

启动项目
cd project_path;
npm start

文档

原文来自:w3ctech
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • ThinkJS 2.0发布 JavaScript全栈开发框架

    近日,JavaScript MVC框架ThinkJS发布2.0版本,在1.0版本的基础上做了大量改进,功能更加全面,具备可扩展性,并且支持ES 6/7特性。\\ThinkJS由360奇舞团前端工程师李成银(welefen)主导设计和开发,在命名和项目...

  • ThinkJS 2.1:支持 TypeScript,性能提升 90%

    Thinkjs 2.0 是第一个全面支持使用 ES6/7 特性开发的 Node.js 框架,于 2015.10.30 正式发布。使用 ES6 里的*/yield 或者 ES7 里的 async/await 可以很好的解决异步嵌套的问题,借助 Babel 编译,可以稳定运行在 ...

  • 前端开源实战项目推荐

    这段时间一直有学员和一些正在从事前端开发工作的朋友询问“有没有推荐的前端开源项目?”,因为一直忙于工作没有时间去整理,今天应各位的请求,我整理了一些开源项目 。推荐顺序与项目的好坏无关,框架的推荐顺序...

  • ThinkJS 作者李成银:择善而从之,笃行致远

    非商业转载请注明作译者、出处...李成银,奇虎360前端技术专家,ThinkJS 框架作者,开发了Chrome扩展版的Fiddler,以支持模板语法处理的Fl,等等。目前参与开发的一个项目是燕尾服,借助多进程和 Ast/Token 大幅提高...

  • 狼叔:Node全栈为前端带来更多可能

    2009年,Node.js横空出世,在几年时间里,Node.js凭借其高性能、易部署等特点迅速在前端领域脱颖而出,成为大火的明星。但一个技术再好,也是有生命周期的,许多开发者开始质疑,Node.js是不是在走下坡路了?Node.js...

  • 【全文】狼叔:如何正确的学习Node.js

    2017-12-14 我发了一篇文章《没用过Node.js,就别瞎逼逼》是因为有人在知乎上黑Node.js。那篇文章的反响还是相当不错的,甚至连著名的hax贺老都很认同,下班时读那篇文章,竟然坐车的还坐过站了。大家可以很明显的...

  • 强烈推荐 GitHub 上值得前端学习的开源实战项目

    强烈推荐 GitHub 上值得前端学习的开源实战项目。 Vue.js vue-element-admin 是一个后台前端解决方案,它基于和 element-ui 实现 基于 iView 的 Vue 2.0 管理系统模板 基于 vue2 + vuex 构建一个具有 45 个...

  • 实现返回顶部-wepy小程序-前端梳理

    基于 Node.js 平台的下一代 web 开发框架 : https://koa.bootcss.com/ Egg.js egg 为企业级框架和应用而生: https://eggjs.org/zh-cn/ 快速入门https://eggjs.org/zh-cn/intro/quickstart.html Think.js: ...

  • GMTC大会专访:Node.js 2018年大前端潮流解析

    近年来,随着一波又一波技术浪潮的更迭,分工的不断细化,以及和业务越来越紧密的联系,前端早已告别了切图的时代,迎来的是大前端之路。可以说,大前端已经是Web前端和客户端开发...

  • 狼叔:如何正确的学习Node.js

    1. 【知乎Live】狼叔:如何正确的学习Node.js 预览地址 i5ting.github.io/How-to-lear… Live 简介 你好,我是 i5ting ,江湖人称「狼叔」,目前是阿里巴巴技术专家,斯达克学院( StuQ )明星讲师, Node.js 技术...

  • 教务管理系统,个人学习整理,仅供参考

    ===下载后有不懂的可以私信我。==== 这是一个教务管理系统的源码,使用的开发语言是Java,数据库是MySql,使用的框架是Struts+Hibernate,这是我刚刚学习的代码,和大家一切分享,将代码直接导入MyEclipse 中就可以运行了,有什么问题及时跟我沟通,我们一起沟通学习。。内容来源于网络分享,如有侵权请联系我删除。

  • Java毕业设计-springboot-vue-卫生健康系统(源码+sql脚本+29页零基础部署图文详解+30页论文+环境工具+教程+视频+模板).zip

    资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。

  • PMSM永磁同步电机高精度参数辨识仿真:定子电阻、DQ电感与转子磁链精准辨识,适用于表贴与内嵌式电机,简洁算法易于工程实现,PMSM永磁同步电机参数辨识仿真,适用于表贴式,内嵌式永磁同步电机: 辨识内

    PMSM永磁同步电机高精度参数辨识仿真:定子电阻、DQ电感与转子磁链精准辨识,适用于表贴与内嵌式电机,简洁算法易于工程实现,PMSM永磁同步电机参数辨识仿真,适用于表贴式,内嵌式永磁同步电机: 辨识内容: ① 定子电阻,精度在0.1%左右; ② DQ电感辨识(脉冲电压法),精度在0.02%左右; ③ 转子磁链辨识,精度在0.12%左右; 上述算法,是在实践工程中提炼出的算法,无复杂的矩阵计算,无复杂的滤波算法,TI ,ST 以及国产芯片都可实现,易于工程实现。 需要可以直接联系,发和matlab版本。 提供仿真的简要原理说明文档。 ,核心关键词: PMSM永磁同步电机;参数辨识仿真;表贴式永磁同步电机;内嵌式永磁同步电机;定子电阻辨识;DQ电感辨识;转子磁链辨识;精度;TI芯片;ST芯片;国产芯片;工程实现;Matlab版本;仿真原理说明文档。,PMSM永磁同步电机参数辨识仿真:高精度算法在表贴与内嵌式电机中的应用

  • 城镇段公路市政化改造的设计节点分析.pdf

    城镇段公路市政化改造的设计节点分析.pdf

  • 【多智能体控制】基于matlab MSN植绒编队控制、跟踪目标、避开障碍物【含Matlab源码 11038期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

  • 全开源跑腿小程序系统源码/智能派单/系统派单/同城配送/校园跑腿/预约取件/用户端+骑手端

    这是一款跑腿小程序,带有智能派单、系统派单、同城配送、校园跑腿、预约取件、用户端+骑手端 基于FastAdmin+thinkphp和uniapp开发的优创同城跑腿系统,支持帮取、帮送模式,包含用户端、骑手端、运营后台。 支持一键接单、抢单, 为跑腿团队提供技术解决方案,无加密源码,可私有化部署。

  • 永磁同步电机基于刚性等级的工程整定方法simulink仿真模型,速度环PI基于刚性等级调整,电流环PI基于环路带宽调整,双闭环基本只需要调整2个参数即可

    永磁同步电机基于刚性等级的工程整定方法simulink仿真模型,速度环PI基于刚性等级调整,电流环PI基于环路带宽调整,双闭环基本只需要调整2个参数即可。 理论及模型搭建说明: 永磁同步电机PMSM环路工程整定方法: https://blog.csdn.net/qq_28149763/article/details/145230860

  • 王道操作系统课件 2024

    ===下载后有不懂的可以私信我。==== 操作系统是计算机科学中的核心课程,它管理着计算机的硬件资源,为用户提供服务并协调各种软件运行。"王道操作系统课件 2024" 是一套全新的教学资料,旨在帮助学习者深入理解操作系统的工作原理和设计思想。这些课件包含了操作系统的一些关键主题,如操作系统概念、体系结构、进程管理、输入输出、文件系统以及存储设备等内容。 1. **操作系统概念与功能** (1.1_1_操作系统的概念、功能.pdf) 操作系统是计算机系统的核心,负责管理和控制硬件资源,提供用户接口和服务。其基本功能包括处理器管理、内存管理、设备管理、文件管理和作业调度等。这些功能确保了计算机系统的高效运行和资源的有效利用。 2. **操作系统体系结构** (1.4_2_操作系统体系结构(下).pdf) 操作系统的体系结构分为单体结构、微内核结构、客户-服务器结构、层状结构等。这些不同的架构设计各有优缺点,适应不同的应用场景和需求。例如,微内核结构强调最小化内核,提高系统稳定性和可扩展性。 3. **虚拟机** (1.6_虚拟机.pdf) 虚拟机技术允许在单一硬件平台上运行多个操作系统实例,通过模拟硬件环境实现隔离。虚拟机有全虚拟化和半虚拟化两种主要类型,分别适用于不同场景,如开发测试、云服务等。 4. **输入输出(I/O)管理** (5.1_5_输入输出应用程序接口和驱动程序接口.pdf) I/O管理涉及设备驱动程序、中断处理、DMA(Direct Memory Access)和I/O缓冲等。应用程序通过I/O接口与硬件交互,驱动程序则作为操作系统与硬件间的桥梁,使得硬件操作对用户透明。 5. **进程通信** (2.1_4_进程通信.pdf) 进程通信是多进程系统中协调和同步的重要手段,包括管道、消息队列、共享内存、信号量、套接字等多种机制。有效的进程通信可以提升系统效率,避免竞态条件和死锁等问题。 6. **文件系统全局结构** (4.3_2_文件系统的全局结构(布局).pdf) 文件系统负责组织和管理磁盘上的数据,包括目录结构、文件分配、文件的逻辑与物理结构等。了解文件系统的全局结构有助于优化数据存储和检索效率。 7. **文件保护** (4.1_9_文件保护.pdf) 文件保护涉及到权限管理、访问控制列表(ACL)、文件加密等,用于确保文件的安全性和完整性,防止非法访问和修改。 8. **固态硬盘(SSD)** (5.3_5_固态硬盘SSD.pdf) 固态硬盘使用闪存作为存储介质,相比传统硬盘,具有更快的读写速度、更低的延迟和更高的耐用性。SSD的特性对现代操作系统提出了新的存储管理挑战,如TRIM命令的使用和垃圾回收算法的设计。 这些课件覆盖了操作系统学习的核心知识点,通过深入研究,学生将能够全面理解操作系统的运作机制,并为解决实际问题打下坚实基础。。内容来源于网络分享,如有侵权请联系我删除。

  • 2025年家庭教育指导师试题库及答案.docx

    2025年家庭教育指导师试题库及答案.docx

Global site tag (gtag.js) - Google Analytics