初学thinkjs




一、安装ThinkJS

首先得知道ThinkJS是基于NodeJS来玩的MVC框架,所以第一步是先安装NodeJS,直接去官网下载一个pkg的安装包即可。

好啦,准备工作就这些,这里我使用的是Unix环境,如果你是Windows的话,可以去查其他教程,但是建议玩NodeJS就不要在Windows上玩了。下面我的命令基本都是使用sudo权限,看过我文章的都知道,是为了不给自己找不必要的麻烦。

sudo npm install -g thinkjs-cmd


暂时还没遇到过下载不下来的情况,所以不需要用镜像了。下载完成后你会发现有一些依赖的库都顺带下载下来了。

我们可以先看一下ThinkJS依赖的NodeJS版本、包的源文件地址、依赖信息

npm view thinkjs engines
npm view thinkjs repository.url
npm view thinkjs dependencies


这里就不贴结果了,可以运行试试,主要是依赖的版本和依赖信息,可以看出ThinkJS能够使用其他什么技术进行开发(默认的模板引 擎:ejs,NodeJS默认的就是这玩意;依赖ES6-Promise,可以让你感受不一样写JS的赶脚;还有WebSocket等实用接口)。

接来下我们先创建一个ThinkJS项目,按步骤来就行了,so easy!

//进入一个ROOT目录
cd ~/Documents//创建项目根目录文件以及进入该文件
mkdir thinkjs && cd thinkjs
//快速创建thinkjs .


这样子就可以了,很方便吧,最后会默认在终端提示:

Application create finished


并且打开默认浏览器,在浏览器中显示:

显示thinkjs 默认的页面


在浏览器地址栏,可以看出默认的端口是: 8360

现在我们就可以开始撸码啦,那么我们先来看看生成的ThinkJS的一个项目长什么样子吧。


创建项目

ThinkJS 安装完成后,就可以通过下面的命令创建项目:

thinkjs new project_path; #project_path为项目存放的目录


如果想用ES6特性来开发项目的话,可以创建一个ES6模式的项目,具体如下:

thinkjs new project_path --es6; #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


关于创建项目命令的更多信息。

安装依赖

项目安装后,进入项目目录,执行 npm install 安装依赖,可以使用 taobao 源进行安装。

npm install --registry=https://registry.npm.taobao.org --verbose


编译项目

如果创建项目时加上了 --es6 参数,代码需要编译后才能运行。那么需要先在项目下执行命令 npm run watch-compile ,这样文件有修改后就会自动编译了。

执行命令后会挂起一个进程,注意不要结束这个进程,其他命令可以再新开一个标签页里执行。

启动项目

在项目目录下执行命令 npm start,如果能看到类似下面的内容,表示服务启动成功。

> thinkjs-application@1.0.0 start /Users/tom/code/xuexi/thinkjs
> node www/index.js

[2015-11-02 16:51:14] [WARNING] filepath `home/model/UserModel.js` has uppercase chars.
[2015-11-02 16:51:14] [THINK] Server running at http://127.0.0.1:8360/
[2015-11-02 16:51:14] [THINK] ThinkJS Version: 2.0.5
[2015-11-02 16:51:14] [THINK] Cluster Status: closed
[2015-11-02 16:51:14] [THINK] WebSocket Status: closed
[2015-11-02 16:51:14] [THINK] File Auto Reload: true
[2015-11-02 16:51:14] [THINK] App Enviroment: development


访问项目

打开浏览器,访问http://127.0.0.1:8360/即可。

如果是在远程机器,需要通过远程机器的 IP 访问,同时要保证 8360 端口可访问。

本系列设计的代码 下载