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中转换URL字符串与查询字符串详解
Nov 26 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
nodejs加密Crypto的实例代码
Jul 07 NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
nodejs对项目下所有空文件夹创建gitkeep的方法
Aug 02 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
图解NodeJS实现登录注册功能
Sep 16 NodeJs
nodejs中内置模块fs,path常见的用法说明
Nov 07 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
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
Bootstrap超大屏幕的实现代码
2017/03/22 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
Python多进程编程常用方法解析
2020/03/26 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
keras的三种模型实现与区别说明
2020/07/03 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
档案信息化建设方案
2014/05/16 职场文书
药品营销策划方案
2014/06/15 职场文书
工商行政处罚决定书
2015/06/24 职场文书
暑期家教宣传单
2015/07/14 职场文书
中秋节主题班会
2015/08/14 职场文书
高中班长竞选稿
2015/11/20 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
MySQL系列之四 SQL语法
2021/07/02 MySQL
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python