入手thinkjs,进修笔记

近来方才进修了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照样挺不错的目次构造比较清楚,分的比较细,便于管理,设置天真,喜好的同砚能够研讨哦,我照样初学者写的不好的请指出

    原文作者:雨林
    原文地址: https://segmentfault.com/a/1190000009055101
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞