近来方才进修了thinkjs–一个node的MVC开辟框架,最主要的是能够用es6/es7开辟【传送门】
以下是进修过程当中的笔记:
npm install thinkjs@2 -g --verbose
上面时全局装置 thinkjs 完成后用 thinkjs -v
搜检是不是胜利
thinkjs new think
建立了一个名为think的项目,然后cd think
进入think目次, npm install
装置依靠, npm start
启动项目,浏览器翻开127.0.0.1:8360
就能够看到页面了。
路由接见划定规矩
thinkjs 的路由接见划定规矩和 thinkphp 的差不多
域名/模块名/控制器名 /action名
test.com/admin/index/index
模块
在thinkjs中是用模块来分拆项目的,固然官网说也能够用别的体式格局
thinkjs module admin
建立一个名为admin
的模块,模块下有四个文件夹:
config---设置信息,如数据库等等
controller --- 控制器目次,控制器用于猎取post与get数据和处置惩罚逻辑
logic --- 听说这是thinkjs最有特征的一点,和controller一一对应用于考证controller数据合法性与处置惩罚数据,在controller之前挪用
model --- 用于操纵数据库,返回数据
视图
thinkjs把一切的视图文件放在了根目次下的view
文件夹,定名划定规矩模块名/控制器_action名
有点怪是吧,没问题能够改【传送门】
静态文件
thinkjs把一切的静态文件放在www/static
简朴例子
接下来我们来完成一个模仿登录操纵:
起首根据我们步骤建立一个项目,接着装置依靠,然后别急着启动,先建立模块,thinkjs module useracount
,然后建立控制器 thinkjs controller signin
,关于thinkjs敕令
【传送门】,末了启动项目 npm start
,用你喜好的编辑器翻开项目。
翻开src/useracount/controller/signin.js
,在indexAction
背面到场
indexAction(){
//auto render template file index_index.html
return this.display();
}
signinAction() {
let name = this.post('name');
let pw = this.post('pw');
let data = this.model('singin').signIn(name, pw);//跟model下的对应
this.success(data);//返回数据
}
翻开src/useracount/model
建立signin.js
,写入
'use strict';
export default class extends think.model.base {
signIn(name, pw) {
return {isSuccess:(name=="admin"&&pw=="123")};
}
}
也能够用thinkjs model signin
建立model
翻开view/useracount
建立signin_index.html
,写入
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<title>登录</title>
</head>
<body>
<input type="text" placeholder="用户名">
<input type="password" placeholder="暗码">
<button>提交</button>
<script>
$(function(){
$('button').click(function() {
var name = $('input[type=text]').val();
var pw = $('input[type=password]').val();
$.ajax({
type: 'POST',
url: 'http://127.0.0.1:8360/useracount/signin/signin',
data:{name: name, pw: pw},
success: function (data) {
console.log(data);
}
})
});
});
</script>
</body>
</html>
浏览器翻开http://127.0.0.1:8360/useracount/signin/index
就能够看到登录界面了(虽然很丑,凑合用吧)向输入框输入提交,翻开控制台就能够看见了数据了。到此就走通了一个简朴的流程了。
PS:个人觉等
thinkjs
照样挺不错的目次构造比较清楚,分的比较细,便于管理,设置天真,喜好的同砚能够研讨哦,我照样初学者写的不好的请指出