express是nodejs的一个轻量级框架。
express的功能很简单, 功能依赖中间件。
安装:在你的项目文件价里打开cmd窗口,在里面使用npm工具(就是在cmd里输入 npm install express)下载express。
用法:
1.创建服务:
var server=express();
2.监听
server.listen(8080);
3.处理请求
server.use('地址',function(req,res){ });
express简单示例:
const express= require('express'); var server=express(); // server.use('/',function(req,res){ // use里的第一个参数代表用户请求根目录 // }); server.use('/',function(){ res.send('abc'); res.end(); }) server.listen(8080);
结果:

req与res是经过express封装过的,在保留原生功能的基础下又增强了一些方法。如:res.send(),这个方法可以直接在网页上显示json(原来用于显示的write()方法无法显示json)。
监听请求的三种方法:
.get('/',function(req,res){});//接受get方法 .post('/',function(req,res){});//接受post方法 .use('/',function(req,res){}); //get,post都能接受
示例:
html:
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> </head> <body> <form class="" action="http://localhost:8080" method="get"> <input type="text" name="" value="" placeholder="输入用户名"> <input type="submit" name="" value="提交"> </form> </body> </html>
node:
const express= require('express'); var server=express(); server.post('/',function(req,res){ console.log('有post'); }); server.get('/',function(req,res){ console.log('有get'); }) server.use('/',function(req,res){ // use里的第一个参数代表用户请求根目录 console.log('有use'); // res.send('abc'); // res.end(); }) server.listen(8080);
中间件:express-static
用法:
server.use(express.static('www'));//设置静态文件目录
上面那行代码的意思是讲静态文件目录设置为根目录。
示例:
node:
const express= require('express'); const expressStatic=require('express-static'); var server=express(); server.listen(8080); server.use(expressStatic('./www'));
在地址栏中输入:
http://localhost:8080/index.html

转跳成功~
——————————————————————————
用express搭建简易用户登录系统
//res.query--->将传入的数据处理成键值对
html:
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> <script src="ajax.js" charset="utf-8"></script> <script type="text/javascript"> window.onload=function(){ var oUser=document.getElementById('user'); var oPass=document.getElementById('pass'); var oBtn=document.getElementById('btn1'); oBtn.onclick=function(){ ajax({ url:'/login', data:{user:oUser.value,pass:oPass.value}, success:function(str){ var json=eval('('+str+')'); if(json.ok){ alert('登录成功'); }else{ alert('失败:'+json.msg); } }, error:function(){ alert('通信失败'); } }); }; }; </script> </head> <body> <div> <input type="text" id="user"><br /> <input type="password" id="pass"><br /> <input type="button" value="登录" id="btn1" /> </div> </body> </html>
ajax:
function json2url(json){ var arr=[]; for(var name in json){ arr.push(name+'='+json[name]); } return arr.join('&'); } function ajax(json){ json=json || {}; if(!json.url)return; json.data=json.data || {}; json.type=json.type || 'get'; var timer=null; if(window.XMLHttpRequest){ var oAjax=new XMLHttpRequest(); }else{ var oAjax=new ActiveXObject('Microsoft.XMLHTTP'); } switch(json.type){ case 'get': oAjax.open('GET',json.url+'?'+json2url(json.data),true); oAjax.send(); break; case 'post': oAjax.open('POST',json.url,true); oAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); oAjax.send(json2url(json.data)); break; } oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ clearTimeout(timer); if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304){ json.success && json.success(oAjax.responseText); }else{ json.error && json.error(oAjax.status); } } }; }
node:
const express= require('express'); const expressStatic=require('express-static'); var server=express(); server.listen(8080); var users={ 'blue':'123456', 'zhangsan':'123789', 'lisi':'111' } server.get('/login',function(req,res){ var user=req.query['user']; var pass=req.query['pass']; if(users[user]==null){ //键值对 res.send({ok:false,msg:'此用户不存在'}); }else{ if(users[user]!=pass){ res.send({ok:false,msg:'密码错了'}); }else{ res.send({ok:true,msg:'成功'}); } } }) server.use(expressStatic('./www'));