作者:小丘 | 来源:互联网 | 2023-10-12 20:47
1.概述ThinkJS是一款使用ES67特性全新开发的Node.jsMVC框架,对于之前是纯前端的童鞋,可能不了解MVC框架是什么,不知道后台和前台怎么配合。本教程以Thinkjs2.2
1.概述
ThinkJS 是一款使用 ES6/7 特性全新开发的 Node.js MVC 框架,对于之前是纯前端的童鞋,可能不了解MVC框架是什么,不知道后台和前台怎么配合。
本教程以Thinkjs2.2为例。
MVC,就是指Model,View和Controller。
Model是数据层,真正的数据存在数据库里,Model里面要写的获取数据库中的数据 并 对获取到的数据进行一些处理的方法;
View是视图层,对应的文件夹就是根目录下的view文件夹。这块就是前端的范畴了,view里面就放一些html文件,需要注意的是html中需要用到的css样式,js脚本,字体font,图片img等静态资源文件不要放在view文件夹里面,应该放在/www/static里面;
Controller是控制器,逻辑层,调用model层的方法获取数据库中的相关数据,给view层提供前端可调用的方法,进行数据交互。
对应要敲代码的位置分别是哪里
根据文档中的方法创建一个空的thinkjs项目之后(https://thinkjs.org/zh-cn/doc/2.2/create_project.html),可以看到根目录下有src和view这两个文件夹。
在解释m、v和c要写在哪里之前,先来了解下模块的概念;(https://thinkjs.org/zh-cn/doc/2.2/module.html)
整个项目也是以模块的形式来划分,比如todolist,就可以按照功能划分成user(负责用户的登录登出,个人信息等相关操作)和list(待办事项列表的增删查改显示等相关操作)两个模块。Src文件夹下有两个子文件夹common和home,src文件夹下面的每一个子文件夹就代表一个模块,
每个模块有独立的配置(config)、控制器(controller)、视图(view)、模型(model)等文件。
common 模块是个通用模块,该模块下存放一些通用的功能,如: 通用的配置,runtime 目录,启动文件,错误处理控制器等。
注:该模块下的控制器不能响应用户的请求。
Home 模块是新建项目下唯一一个能相应用户请求的模块(新增用户自定义模块的方法参照https://thinkjs.org/zh-cn/doc/2.2/module.html#toc-939),以home模块为例,home文件夹下有config、Controller、logic和model四个子文件夹,config用来写所属模块的配置(https://thinkjs.org/zh-cn/doc/2.2/config.html),Controller就是之前提到MVC中C,写所属模块的逻辑层,controller文件夹下面的每一个js文件就是所属模块下的一个控制器,每个控制器文件里面写***Action方法,用来响应来自前端的请求。
Logic 当在 Action 里处理用户的请求时,经常要先获取用户提交过来的数据,然后对其校验,如果校验没问题后才能进行后续的操作(https://thinkjs.org/zh-cn/doc/2.2/logic.html)。
Model就是之前提到的MVC中的M,写所属模块数据相关操作。Model文件夹下每一个js文件都对应一个数据表(js文件的文件名需与数据库中的数据表名对应),在js文件中就可以写每个数据表相关的操作方法(在使用数据库之前,需要配置Common/config/db.js文件'')。
每个模块对应的视图层view在根目录的view文件夹下。View文件夹下的子文件夹同src一致,都是按模块划分好的。Common中就是一些公共视图文件,其余的都是各自模块所属的视图文件。前端所要用到的css样式,js脚本,字体font,图片img等静态资源文件不要放在view文件夹里面,应该放在/www/static里面;
好了,下面就开始正式的创建项目了。