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获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
轻松创建nodejs服务器(10):处理POST请求
Dec 18 NodeJs
NodeJS Web应用监听sock文件实例
Feb 18 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 NodeJs
nodejs body-parser 解析post数据实例
Jul 26 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
Nodejs 复制文件/文件夹的方法
Aug 24 NodeJs
使用npm安装最新版本nodejs
Jan 18 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
nodejs各种姿势断点调试的方法
Jun 18 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
js GridView 实现自动计算操作代码
2009/03/25 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
Python导入txt数据到mysql的方法
2015/04/08 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
python一键去抖音视频水印工具
2018/09/14 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
Django多数据库的实现过程详解
2019/08/01 Python
python dumps和loads区别详解
2020/02/04 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
Linux上比较文件的命令都有哪些
2013/09/28 面试题
工商管理实习自我鉴定
2013/09/28 职场文书
建筑学专业自荐书
2014/07/09 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
导师对论文的学术评语
2015/01/04 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
解决MySQL报“too many connections“错误
2022/04/19 MySQL