Express实现路由分发控制、RESTful API(1)

}

}

安装Express框架及其依赖


编辑完以后,进入到该目录,然后执行以下命令安装Express框架及其依赖

npm install

注意

由于国内被墙,这个过程如果依赖包过多或过大的时候,会非常慢,所以,建议使用淘宝的cnpm来安装(不安装也可以,只是会比较慢)

  • 安装cnpm

npm install -g cnpm

  • 然后通过cnpm安装Express框架及其依赖

cnpm install

创建入口文件app.js


在根目录创建app.js并添加以下代码

/**

* app.js

* @authors 袁俊亮 (1610712512@qq.com)

* @date 2016-12-09 16:57:54

* @webSite http://www.yuanjunliang.cc

*/

var app = require(‘express’)();

var responseTime = require(‘response-time’);

var redis = require(‘redis’);

// 创建数据库客户端

var client = redis.createClient();

client.on(‘error’,function(err){

console.log(‘error’+err);

});

// 设置端口

app.set(‘port’,(process.env.PORT || 3000));

// 使用请求计时模块

app.use(responseTime());

// 设置/routes/index文件为总的路由控制文件

// 在routes/index文件中再进行统一的路由分发,这样防止app.js中代码过于臃肿

var routes = require(‘./routes/index’);

routes(app);

// 启动服务的时候监听端口号

app.listen(app.get(‘port’),function(){

console.log(‘Server listening on port:’,app.get(‘port’));

});

实现路由分发控制文件/routes/index.js


创建路由分发控制文件/routes/index.js,在该文件中,实现将用户所有的请求逻辑处理分发到不同的业务模块进行处理。实现代码如下

module.exports = function(app){

// 分发user模块,比如用户的注册和登录请求业务逻辑将会在/api/user.js中实现

var user = require(‘…/api/user’);

app.use(‘/user’,user);

};

处理具体的业务逻辑(与数据库相关的业务逻辑处理都在这里完成)


创建一个/api目录下的user.js文件,在其中实现user模块的业务逻辑处理,代码如下

/**

* 用户模块user.js

* @authors 袁俊亮 (1610712512@qq.com)

* @date 2016-12-09 17:06:42

* @webSite http://www.yuanjunliang.cc

*/

var express = require(‘express’);

var router = express.Router();

// 处理get请求

router.get(‘/’, function(req, res) {

res.send({

‘username’:‘john’,

‘sex’:‘man’,

‘address’:‘上海’

});

});

// 处理POST请求

router.post(‘/’,function(req,res){

console.log(‘接受到了post请求’);

res.send({

‘regist’:{title:req.param(‘username’)}

})

});

module.exports = router;

经过上诉的处理以后就完成了user模块的路由控制分发,每当用户发起与user相关的请求时,就可以在/api/user.js中接收到用户的相关请求,并做相关处理

业务逻辑扩展


其他的分发逻辑类似,比如在添加一个文章编辑和查看模块

  • 在/api目录下创建一个post.js文件并在其中实现文章的业务逻辑处理

  • 在/routes/index.js文件中添加一条路由规则如下

module.exports = function(app){

// 分发user模块,比如用户的注册和登录请求业务逻辑将会在/api/user.js中实现

var user = require(‘…/api/user’);

app.use(‘/user’,user);

// 文章编辑及查看路由模块

var post = requier(‘…/api/post’);

最后:

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

// 文章编辑及查看路由模块

var post = requier(‘…/api/post’);

最后:

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值