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学习笔记之Stream模块
Jan 13 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
nodejs读取并去重excel文件
Apr 22 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
nodejs用gulp管理前端文件方法
Jun 24 NodeJs
Nodejs中的JWT和Session的使用
Aug 21 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 NodeJs
浅谈vue websocket nodeJS 进行实时通信踩到的坑
Sep 22 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
smarty巧妙处理iframe中内容页的代码
2012/03/07 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
jQuery图片加载显示loading效果
2016/11/04 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python自动连接ssh的方法
2015/03/07 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
解决python flask中config配置管理的问题
2019/07/26 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
python程序如何进行保存
2020/07/03 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
运动会稿件200字
2014/02/07 职场文书
英文自荐信常用句子
2014/03/26 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python
springcloud之Feign超时问题的解决
2021/06/24 Java/Android