“license”: “ISC”,
“dependencies”:{
“express”:“^4.13.4”, // express框架
“redis”:“^2.5.2”, // redis数据库
“body-parser”: “~1.0.1”, // 用于解析提交的请求表单
“response-time”: “^2.3.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’);
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
2HQ-1714857317516)]
[外链图片转存中…(img-Krnfufi0-1714857317517)]
[外链图片转存中…(img-YHn6Lknb-1714857317517)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!