nodejs入门教程六:express模块用法示例
程序员文章站
2023-12-26 23:58:51
本文实例讲述了nodejs入门教程之express模块用法。分享给大家供大家参考,具体如下:
/**
* created by dason on 2017/3...
本文实例讲述了nodejs入门教程之express模块用法。分享给大家供大家参考,具体如下:
/** * created by dason on 2017/3/28. */ var express = require('express'); var morgan = require('morgan');//打印日志的中间件 //创建express 的实例 var app = express(); /** * 中间件: * connect: node.js的中间件框架 * 分层处理:每层实现一个功能 * 使用 use方法:向use方法传入具体的中间件 */ //express 提供了内置的中间件 express.static 来设置静态文件:express.static('静态文件的目录') //http://localhost:3001/test.txt: public的相对路径 app.use(express.static('./public'));//当前项目目录下的文件 app.use(morgan()); // 当请求过来时,express通过路由来控制做出响应 //1. 路由的path 方法 app.get('/',function(req,res){ res.end(''); }); /** * 路由 * 路由:根据不同的请求,分配相应的函数 * 区分:路径、请求方法 * 三种路由方法 * path * router * route */ //2.router 方法: 针对同一个路由下的多个子路由 // http://localhost:3001/post/add var router = express.router(); // http://localhost:3001/post/add router.get('/add',function(req,res){ res.end('router /add'); }); // http://localhost:3001/post/add router.get('/list',function(req,res){ res.end('router /list'); }); //将定义的路由加入到 app的配置中 //第一个参数:基础路径(即请求前的路径),第二个参数:定义的路由 app.use('/post',router); //3. 路由的route 方法:针对同一个路由下的不同请求方法 //http://localhost:3001/article app.route('/article') .get(function(req,res){ res.end('route /article get'); }) .post(function(req,res){ res.end('route /article post'); }); /** * 路由参数:例如 http://example.com/news/123 * 123 就是路由参数 * 第一个参数:指定路由参数名字 * 第二个参数:function: * @parms:next:执行下一步操作;newsid:路由参数的值 */ //http://localhost:3001/news/123 app.param('newsid',function(req,res,next,newsid){ req.newsid = newsid;//将值存储到请求对象中 next(); }); //使用该路由参数 app.get('/news/:newsid',function(req,res){ res.end('newsid:' + req.newsid); }); //监听一个端口 app.listen(3001,function(){ console.log('express running on http://localhost:3001'); })
public在项目目录下:
希望本文所述对大家nodejs程序设计有所帮助。