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 的 session 简单使用
Jun 06 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
用nodejs实现json和jsonp服务的方法
Aug 25 NodeJs
Nodejs模块载入运行原理
Feb 23 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 NodeJs
nodejs脚本centos开机启动实操方法
Mar 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
SONY SRF-40W电路分析
2021/03/02 无线电
php中使用explode查找某个字符是否存在的方法
2011/07/12 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
Underscore源码分析
2015/12/30 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
Python深入学习之闭包
2014/08/31 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
PHP经典面试题
2016/09/03 面试题
社区好人好事材料
2014/12/26 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
工作自我评价范文
2019/03/21 职场文书