一、安装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 端口可访问。
本系列设计的代码 下载
