您的位置:首页 > 其它

ProjectOne(01) - 先来搭框架吧

2016-02-18 21:34 162 查看
原名:随便写点什么(01)。正式改名字吧。

2016.02.18

昨天找回博客之后,想想,还是随手写点什么代码吧。

暂时还没想好写个什么样的项目,也没一个明确的目标。

那么回头再确定名字吧。

那么,首先就是搭框架呗。

bower不会用,回头学,这个要mark起来。

首先,操作系统环境。

windows 7 x64

服务器层面就用Node.js吧。

nodejs - @4.3.0 LTS

数据库就先用MySQL吧。

mysql - @5.5.25

ok。就先这么安装好了。

然后下载安装什么的先略过吧。反正就是下一步下一步下一步就行了。

下面,就在E盘新建一个文件夹,就叫ProjectOne吧,因为没想好叫什么项目名称吧。

然后win+r,打开命令行,输入:

e:
cd ProjectOne


进入到目录底下。

然后继续安装express:

npm i express@4.13.4


这个4.13.4应该是express5之前的最后一个版本了。为啥不直接装5?因为不会用啊!好吧。以后会学的。

还需要什么包么?哦,对了,数据库,那就找个数据库的操作包呗。

npm i mysql@2.10.2


为什么这个版本?我也不知道,随便加的。

预计后期会加入[cluster、redis]等其他乱七八糟的包,暂时先不管。

好啦。下面就可以愉悦的开始码字啦。

打开IDE... 我用的是WebStome 7。

首先,当然是在根目录下面建一个app.js啦。

然后,只需要3行代码,我们的node服务器就建好啦。

var express = require('express');
var app = express();
app.listen('80');
其中,80就是监听80端口啦。但是,这个时候,什么都没有。

服务器是运行了。但是是个然并卵的玩意。

ok,继续朝着目标前进吧。

今天文章的目标就是,

搭起一个简单的框架,通过路由功能来划分网络请求,实现不同的api,

而且只需简单的改动即可支持多人合作开发。

还有简单的页面显示。对了,还有要api支持数据库查询。

下面,先写一个页面设置吧。

因为某些原因,我并没有学过怎么写jade或者ejs。所以页面基本都是纯静态页面+JS控制。

(好吧,以后如果有需要,会去学的。 

express里面有一个简单的设置,导入path包,就可以让我们将所有静态页面的请求,指向一个文件夹:

var path = require('path');
app.use(express['static'](path.join(__dirname,'web')));


然后,为了也同时实现路由,我们新建两个文件夹,
一个叫web,保存网页。一个叫routers,叫路由器s。都是建在根目录下面。

路由放一放,我们直接在web下面新建一个index.html,

里面也不用写什么,就写

<h1>Hello ProecjtOne !</h1>


然后重启nodejs,试一下,项目能否正常运行。

ok,是正常运行的。



那我们继续往下写。下面就是要实现api路由功能的,这个功能主要是为了区分api和支持多人协作开发。

不同的api的js文件,可以由不同的人维护。或者根据不同的功能模块区分api的js文件。

在根目录下新建一个叫api的文件夹,然后下面建立一个叫users的文件夹。这个就是用户相关的api文件存放地点。

我们在users文件夹建立2个文件。一个叫api.js,作用是提供跟用户相关的api保存。另外一个叫router.js,用于判断调用的接口是否给users用户管理模块使用的。

由于api.js文件我懒得写了,先把逻辑代码写在router.js里面吧。

module.exports = function(app){
app.get('/api/users/:action',function(req,res){
res.send(' in router / users / action = '+ req.params.action);
});
};


在routers文件夹下面建一个routers.js文件,作为一个总路由器。

在下面建一个函数,并把这个函数exports出去。

var usersRoute;
usersRoute = require('../api/users/router.js');

module.exports = function(app){
return usersRoute(app);
};


app.js稍作修改。

var path = require('path');
var express = require('express');
var app = express();
var routers = require('./routers/routers.js');

app.use(express['static'](path.join(__dirname,'web')));

routers(app);
app.listen('80',function(){
console.log('server run at :'+ new Date());
});


好吧。今天就写到这里吧。

明天看一下git怎么用。将代码提交到git再说。(我是不会说我一直只用svn,没玩过git的!

补一张图,是文件结构图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: