阅读更多
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 技术...

  • 大华无插件播放项目111

    大华无插件播放项目111

  • Oracle 19c 数据库备份恢复与导入导出实战指南

    内容概要:本文详细介绍了Oracle 19c数据库的备份恢复和导入导出操作。首先概述了基本命令,然后分别讲述了三种工作方式(交互式、命令行、参数文件)和三种模式(表、用户、全库)。接着介绍了高级选项,如分割成多个文件、增量导出/导入、以SYSDBA进行导出/导入、表空间传输等。最后讨论了优化技巧,包括加快导出和导入速度的方法。还解决了一些常见问题,如字符集问题和版本问题。 适用人群:Oracle数据库管理员和相关技术人员。 使用场景及目标:适合在日常数据库管理和维护中进行数据备份、恢复、导入和导出操作,提高数据安全性和管理效率。 其他说明:文章内容丰富,涉及多种实用技巧,适用于不同场景下的具体操作,有助于提升工作效率。

  • 大数据旅游酒店大数据可视化项目

    基于Python Flask开发的旅游酒店大数据可视化项目,可以直接运行。 操作步骤: 1. 解压缩项目文件 2. 使用 pycharm打开项目 3. 运行项目中的app.py文件 注意:需要确保项目的Flask Python相关的环境已经搭建完成。

  • 模拟立体翻转效果,非Gallery实现.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 仿360 浮动小插件效果.zip

    Android 毕业设计,Android 毕业设计,小Android 程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告

    基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告,个人高分设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的学生和需要项目实战练习的学习者。 基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告基于stm32和openmv的电赛校赛自动泊车题目源码+文档设计报告个人高分设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的学生和需要项目实战练习的学习者。 个人高分设计项目、经导师指导并认可通过的高分设

  • 棉花检测20-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar

    棉花检测20-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar棉-V2释放 ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 它包括406张图像。 以可可格式注释棉花。 将以下预处理应用于每个图像: 没有应用图像增强技术。

  • javaweb社区医院挂号系统-lw.zip

    项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!

  • python-3.11.11-amd64.exe

    windwos环境下python 3.11系列64位安装包,仅推荐个人学习、开发、娱乐或者测试环境下使用。

Global site tag (gtag.js) - Google Analytics