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

2023-11-18 10:02:11 浏览数 (2)

前言碎语

今天为大家带来一款基于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 端口可访问。

0 人点赞