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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
使用upstart把nodejs应用封装为系统服务实例
Jun 01 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
你一定会收藏的Nodejs代码片段
Feb 04 NodeJs
详解nodejs与javascript中的aes加密
May 22 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
详解Nodejs的timers模块
Dec 22 NodeJs
NodeJS自定义模块写法(详解)
Jun 27 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 NodeJs
nodejs简单抓包工具使用详解
Aug 23 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
8个PHP数组面试题
2015/06/23 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
机电专业大学生求职信
2013/10/04 职场文书
幼儿园长自我鉴定
2013/10/17 职场文书
给男朋友的道歉信
2014/01/12 职场文书
商务经理岗位职责
2014/07/30 职场文书
群众路线教育实践活动对照检查材料思想汇报(副处级领导)
2014/10/04 职场文书
2014年班务工作总结
2014/12/02 职场文书
实习协议书
2015/01/27 职场文书
物流业务员岗位职责
2015/04/03 职场文书
婚宴主持词
2015/06/30 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
组织委员竞选稿
2015/11/21 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技