前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >node.js MVC开发框架之Think.js

node.js MVC开发框架之Think.js

作者头像
kl博主
发布2023-11-18 10:02:11
1440
发布2023-11-18 10:02:11
举报
文章被收录于专栏:kl的专栏kl的专栏

前言碎语

今天为大家带来一款基于node的mvc开发框架Think.js,这是由奇虎360奇舞团团队打造的一款轻量的node mvc框架。think的设计借鉴了大部分的thinkphp的思想,开发的时候看项目目录结构以及层次就可以看到thinkphp的影子,所以,如果你有thinkphp的开发经验,使用think开发node应用是so easy的上手。同时,基于think的轻量易用性,作为学习node的入门框架来说,无可挑剔啊。好了,废话不多说,下面补充,think相关的地址,以及简单实例(基于官方)。

推荐get指南===>把用think写的博客源码clong下来(地址如下),跑起来(运行遇坑请在下面评论区留言),然后跟着流程结合官方文档从 页面请求到数据库数据返回跟踪一下,接着消化下node的编码方式,入门开发就差不多了,想要深入的可以看下think的源码以及node的特性

相关地址

think.js源码:https://github.com/75team/thinkjs

think官方文档:https://thinkjs.org/zh-cn/doc/index.html

基于think的博客firekylin源码:https://github.com/75team/firekylin

360奇舞团官方博客:http://www.75team.com/about

Think特性

支持多种项目结构和多种项目环境 项目支持单模块模式、普通模式、分模块模式等多种项目结构,可以满足各种项目复杂度的开发。 默认支持 development,testing 和 prodution 3 种项目环境,可以在不同的项目环境下进行不同的配置,满足在不同环境下的配置需求,同时还可以基于项目需要进行扩展。 支持丰富的数据库 ThinkJS 支持 mysql,mongodb,sqlite 等常见的数据库,并且封装了很多操作数据库的接口,无需手动拼接 SQL 语句,还可以自动防止 SQL 注入等安全漏洞。同时支持事务、关联模型等高级功能。 代码自动更新 ThinkJS 内置了一套代码自动更新的机制,文件修改后立即生效,不用重启 Node.js 服务,也不用借助第三方模块。 自动创建 REST 接口 使用 thinkjs 命令可以自动创建 REST 接口,不用写任何的代码即可完成 REST API 的开发。如果想在 REST 接口中过滤字段或者进行权限校验,也很方便处理。 支持多种 WebSocket 库 ThinkJS 支持 socket.io,sockjs 等常见的 WebSocket 库,并且对这些库进行包装,抹平各个库之间接口调用上的差异,给开发者一致的体验。 丰富的测试用例 ThinkJS 含有 1500+ 的测试用例,代码覆盖率达到 95% ,每一次修改都有对应的测试用例来保障框架功能的稳定。 支持命令行调用执行定时任务 ThinkJS 里的 Action 除了可以响应用户的请求,同时支持在命令行下访问,借助这套机制就可以很方便的执行定时任务。 Hook 和 Middleware ThinkJS 使用 Hook 和 Middleware 机制,可以灵活的对访问请求进行拦截处理。 详细的日志 ThinkJS 内置了详细的日志功能,可以很方便的查看各种日志,方便追查问题。

快速上手(详情请见官方文档)

安装 ThinkJS,前提是已经有node的环境

通过下面的命令即可安装 ThinkJS:

npm install thinkjs@2 -g --verbose 如果安装很慢的话,可以尝试使用 taobao 的源进行安装。具体如下: npm install thinkjs@2 -g --registry=https://registry.npm.taobao.org --verbose 安装完成后,可以通过 thinkjs --version 或 thinkjs -V 命令查看安装的版本。 注:如果之前安装过 ThinkJS 1.x 的版本,可能需要将之前的版本删除掉,可以通过 npm uninstall -g thinkjs-cmd 命令删除。 更新 ThinkJS 更新全局的 ThinkJS 执行下面的命令即可更新全局的 ThinkJS: npm install -g thinkjs@2 更新项目里的 ThinkJS 在项目目录下,执行下面的命令即可更新当前项目的 ThinkJS: npm install thinkjs@2 使用命令创建项目 ThinkJS 安装完成后,就可以通过下面的命令创建项目: thinkjs new project_path; #project_path为项目存放的目录 如果想用 ES6 特性来开发项目的话,可以创建一个 ES6 模式的项目,具体如下: thinkjs new project_path --es; #project_path为项目存放的目录 如果能看见类似下面的输出,表示项目创建成功了:   create : demo/   create : demo/package.json   create : demo/.thinkjsrc   create : demo/nginx.conf   create : demo/README.md   create : demo/www/   create : demo/www/index.js   create : demo/app   create : demo/app/common/runtime   create : demo/app/common/config   create : demo/app/common/config/config.js   create : demo/app/common/config/view.js   create : demo/app/common/config/db.js   ...   create : demo/app/home/logic   create : demo/app/home/logic/index.js   create : demo/app/home/view   create : demo/app/home/view/index_index.html   enter path:   $ cd demo/   install dependencies:   $ npm install   run the app:   $ npm start 关于创建项目命令的更多信息,请见 扩展功能 -> ThinkJS 命令。 安装依赖 项目安装后,进入项目目录,执行 npm install 安装依赖,可以使用 taobao 源进行安装。 npm install --registry=https://registry.npm.taobao.org --verbose 编译项目 如果创建项目时加上了 --es6 参数,代码需要编译后才能运行。那么需要先在项目下执行命令 npm run watch-compile ,这样文件有修改后就会自动编译了。 执行命令后会挂起一个进程,注意不要结束这个进程,其他命令可以再新开一个标签页里执行。 注:2.0.6 版本开始内置了自动编译的功能,无需再执行该命令,直接启动服务即可。如果是老项目可以将 ThinkJS 升级到最新版本,然后在文件 www/index.js 加入代码 instance.compile(); 即可(放在 instance.run() 之前)。 启动项目 在项目目录下执行命令 npm start,如果能看到类似下面的内容,表示服务启动成功。 [2015-09-21 20:21:09] [THINK] Server running at http://127.0.0.1:8360/ [2015-09-21 20:21:09] [THINK] ThinkJS Version: 2.0.0 [2015-09-21 20:21:09] [THINK] Cluster Status: closed [2015-09-21 20:21:09] [THINK] WebSocket Status: closed [2015-09-21 20:21:09] [THINK] File Auto Reload: true [2015-09-21 20:21:09] [THINK] App Enviroment: development 访问项目 打开浏览器,访问http://127.0.0.1:8360/即可。 如果是在远程机器,需要通过远程机器的 IP 访问,同时要保证 8360 端口可访问。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档