thinkjs入门(1)初识thinkjs

之前用thinkjs帮朋友写了个毕业设计
第一次用中国的nodejs后端框架来写服务端

一开始上手thinkjs
打开thinkjs的文档
thinkjs
感觉对刚刚上手的开发者很友好
有着非常详细的文档
而且thinkjs是基于koa2的
所以一些koa2可以用的API在thinkjs的框架上也一样可以使用

但是我们在网上搜索一下thinkjs相关的博客
会发现使用的人确实还不多
所以预先准备好会踩坑的准备

1.安装

安装这一块可以参照一下文档,基本上不会遇到什么坑
作为一个前端工程师,用npm安装thinkjs可以说是像喝水一样很平常的事情

2.项目目录

|--- development.js   //开发环境下的入口文件
|--- nginx.conf  //nginx 配置文件
|--- package.json
|--- pm2.json //pm2 配置文件
|--- production.js //生产环境下的入口文件
|--- README.md
|--- src
| |--- bootstrap  //启动自动执行目录 
| | |--- master.js //Master 进程下自动执行
| | |--- worker.js //Worker 进程下自动执行
| |--- config  //配置文件目录
| | |--- adapter.js  // adapter 配置文件 
| | |--- config.js  // 默认配置文件 
| | |--- config.production.js  //生产环境下的默认配置文件,和 config.js 合并 
| | |--- extend.js  //extend 配置文件 
| | |--- middleware.js //middleware 配置文件 
| | |--- router.js //自定义路由配置文件
| |--- controller  //控制器目录 
| | |--- base.js
| | |--- index.js
| |--- logic //logic 目录
| | |--- index.js
| |--- model //模型目录
| | |--- index.js
|--- view  //模板目录
| |--- index_index.html

我认为初初认识一个框架,项目目录是非常重要的
可以初步认识和了解到框架设计者的设计思想
我们可以看到整个项目的层次非常清晰

由于朋友的毕业设计是前后端分离的项目,前端采用的vue,后端采用的是thinkjs,通过接口请求的方式建立连接
所以这个view文件夹里我们就不放任何的前端文件了

按照我的个人习惯
我会再建一个service层文件夹,与model文件夹同级,担当业务层,而controller 就做为简简单单的表示层
(可能有的人会说有点多余,controller 处理业务逻辑也完全没问题,但是我还是喜欢把处理业务逻辑的部分划分得清楚一下)

再thinkjs中,没有数据访问层的文件夹(类比springboot),是因为thinkjs已经把对数据库进行操作都封装成了API
只要在service层实例化数据表对应的model

        const order = this.model('order')
        const data = await order.where({id:id}).select();

便可以进行对数据进行你们想要的CRUD

在thinkjs中,有两个比较值得注意的特点

Middleware / 中间件
在文档中是这样去解释Middleware的
中间件

在这里插入图片描述
这个洋葱模型就非常经典的解释了整个中间件的处理过程
从接收到request到返回Response
可以在中间件中处理整个请求的生命周期
可以在请求生命周期中做任何想要的操作
“万物皆可中间件”
这是我的师兄在给我介绍koa的中间件概念时说的
放到thinkjs里也同样适用

Logic
官方概念
Logic

这是官方提供的一个概念
为了不让controller 里的action的逻辑代码过于复杂且冗长
我们可以把对数据的检验和权限的判断放在Logic层,在处理请求前
需要经过Logic层的处理,通过后便到达controller层
这也是thinkjs为了避免开发者在action里写入过多逻辑代码所精心设计的

好了,入门的理解暂时介绍到这里
这个博客还会继续更新
把个人开发中的一些理解写在这里
谢谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值