第一次引入了express框架
优化了本身服务器的使用方式
express框架作为模块被引入,在npm中下载
使用:
- 创建服务:var server = express();
- 监听端口:server.listen(725);
- 处理请求:server.use(‘地址’,function(req,res){});
在express中的req和res经过了非入侵的改变(非破坏),即在框架中还是有原生使用的res.write();res.end(); 多出来了res.send();可以直接给前台传对象(json数据)。
三种接受数据的方法:
- .get(’/’,function(req,res){});
- .post(’/’,function(req,res){});
- .use(’/’,function(req,res){});
一个例子:
const express = require('express');
var exstatic = require('express-static');
var server = express();
server.listen(725);
var users = {'aa':'123','b':'456','c':'789'};
server.use('/login',function(req,res){
var user = req.query['user'];
var pass = req.query['pass'];
if(users[user] == null){
res.send({'ok':'no','msg':'用户不存在'});
}else {
if(users[user] != pass){
res.send({'ok':'no','msg':'用户名或密码错误'});
}else{
res.send({'ok':'yes','msg':'登录成功'});
}
}res.end();
});
server.use(exstatic(__dirname+ '/www'));
- 首先引入express框架(已在npm下载)
- 下载并引入express-static模块,功能为可以在目标文件夹中打开静态页面,如本例中的www文件夹中的a.html文件,在路径中如果输入a.html,就会被打开
- 开启服务器var server = express();并监听725端口;
- 在users中定义了三个用户信息,接口是/login?user=xxx&pass=xxx,在express中,–.query会直接解析数据成json数据。在例子中req.query[‘user’]也会把数据的user部分扣下来,存在定义的变量user里面,pass同理
- 数据分析:判断如果在我们定义的users信息中就没有user(刚存进去即用户输入的)这个人,就给一个json数据提示没有这玩意,users里面是对象,所以users[user]代表着user对应的密码。
- 最后一个坑,express-static在两年以前(录视频)的时候的用法和现在略有差异,现在的使用需要在相对路径之前加上_dirname变成绝对路径才能使用
复习一下static的用法:
var express = require('express');
var static = require('express-static');
var server = express();
server.listen(725);
server.use(static(__dirname+'/www'));
下载好express和express-static中间件,并引入,打开服务器监听端口,最后就是使用方法了