nodejs入门教程六:express模块用法示例


Posted in NodeJs onApril 24, 2017

本文实例讲述了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入门教程六:express模块用法示例

希望本文所述对大家nodejs程序设计有所帮助。

NodeJs 相关文章推荐
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
nodejs使用redis作为缓存介质实现的封装缓存类示例
Feb 07 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
Nodejs实现用户注册功能
Apr 14 NodeJs
Nodejs异步流程框架async的方法
Jun 07 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 04 NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 #NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 #NodeJs
nodejs入门教程四:URL相关模块用法分析
Apr 24 #NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 #NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 #NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 #NodeJs
nodejs 终端打印进度条实例代码
Apr 22 #NodeJs
You might like
下拉列表多级联动dropDownList示例代码
2013/06/27 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
asp 的 分词实现代码
2007/05/24 Javascript
jquery创建div 实现代码
2009/04/27 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
axios post提交formdata的实例
2018/03/16 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
详解Python正则表达式re模块
2019/03/19 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
大学生村官任职感言
2014/01/09 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
接待员岗位责任制
2014/02/10 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
2015年班干部工作总结
2015/04/29 职场文书
市场营销计划书
2019/04/24 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server