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实用示例 缩址还原
Dec 28 NodeJs
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
nodejs中实现路由功能
Dec 29 NodeJs
初探nodeJS
Jan 24 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
nodejs个人博客开发第六步 数据分页
Apr 12 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
Jul 05 NodeJs
Nodejs中获取当前函数被调用的行数及文件名详解
Dec 12 NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 NodeJs
分享五个Node.js开发的优秀实践 
Apr 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
PHP4.04简明安装
2006/10/09 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
Position属性之relative用法
2015/12/14 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
node网页分段渲染详解
2016/09/05 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
python自动化发送邮件实例讲解
2021/01/04 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
中式餐厅创业计划书范文
2014/01/23 职场文书
公司放假通知怎么写
2015/04/15 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
zabbix监控mysql的实例方法
2021/06/02 MySQL
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis