浅谈Node.js轻量级Web框架Express4.x使用指南(4)

//app.js var express = require('express'); var path = require('path'); var app = express(); var index = require('./routes/index'); var users = require('./routes/users'); app.use('https://www.jb51.net/', index); app.use('/users', users); app.listen(3000);

这样表示:3000/的路由交给index处理

:3000/users的路由交给users处理

下面简单的实现一下路由

//routes/index.js var express = require('express'); var router = express.Router(); router.get('https://www.jb51.net/', function(req, res){ res.end('index'); }); router.get('/123', function(){ res.end(123); }); module.exports = router;

//routes/users.js var express = require('express'); var router = express.Router(); router.get('https://www.jb51.net/', function(req, res) { res.end('users'); }); module.exports = router;

通过express.Router()创建的router就像一个mini版的app一样

app能做的,router都能做

只是我们把逻辑都封装到了各个路由模块中

上面代码的结果:

浅谈Node.js轻量级Web框架Express4.x使用指南

浅谈Node.js轻量级Web框架Express4.x使用指南

浅谈Node.js轻量级Web框架Express4.x使用指南

body-parser中间件

作为一个入门级文章

最后就来浅显的谈一个中间件body-parser吧

其实express在3.x版本中内置了很多中间件

但是4.x版本就将出static以外的所有中间件全部抽离出来了

所以就需要我们单独安装

对照表如下:

Express 3.0 Express 4.0
bodyParser   body-parser  
compress   compression  
cookieSession   cookie-session  
logger   morgan  
cookieParser   cookie-parser  
session   express-session  
favicon   static-favicon  
response-time   response-time  
error-handler   errorhandler  
method-override   method-override  
timeout   connect-timeout  
vhost   vhost  
csrf   csurf  

刚才就提到了POST请求有所不同

不同的地方就在于我们需要body-parser这个中间件来处理数据

通过req.body来获得数据

首先使用前不要忘记下载

npm install body-parser --save

//app.js var express = require('express'); var bodyParser = require('body-parser'); var path = require('path'); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.get('https://www.jb51.net/', function(req, res){ res.send('<form method="POST" action="./form">\ <input type="text">\ <input type="submit">\ </form>'); }); app.post('/form', function(req, res){ console.log(req.body); var user = req.body.user; res.send('账号: ' + user); }); app.listen(3000);

下面这四个方法分别用于对body内容采取不同的处理方法

bodyParser.json(options) 处理JSON数据

bodyParser.raw(options) 处理buffer数据

bodyParser.text(options) 处理文本数据

bodyParser.urlencoded(options) 处理UTF-8编码数据

这样我首先通过get请求获取主页面

浅谈Node.js轻量级Web框架Express4.x使用指南

提交表单向服务器发送post请求

浅谈Node.js轻量级Web框架Express4.x使用指南

服务器响应结果

express-generator

通过express-generator应用生成器

可以为我们快速生成项目雏形

在你要生成项目的目录中下载express-generator

npm install express-generator

然后输入

express <项目文件名>

这样express就会把必要的文件夹以及代码快速生成了

浅谈Node.js轻量级Web框架Express4.x使用指南

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypyjj.html