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截取模块url-extract的使用实例
Nov 18 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
nodejs简单实现操作arduino
Sep 25 NodeJs
nodejs入门教程六:express模块用法示例
Apr 24 NodeJs
NodeJS父进程与子进程资源共享原理与实现方法
Mar 16 NodeJs
nodejs读取并去重excel文件
Apr 22 NodeJs
利用nodeJs anywhere搭建本地服务器环境的方法
May 12 NodeJs
nodejs实现范围请求的实现代码
Oct 12 NodeJs
nodejs同步调用获取mysql数据时遇到的大坑
Mar 02 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 NodeJs
NodeJs内存占用过高的排查实战记录
May 10 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中Date()时间日期函数的使用方法小结
2011/04/20 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php+mysql数据库查询实例
2015/01/21 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
2016/03/17 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
js实现直播点击飘心效果
2020/08/19 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
上海期货面试题
2014/01/31 面试题
广告学专业应届生求职信
2013/10/01 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
服务之星事迹材料
2014/05/03 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python