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使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
nodejs修复ipa处理过的png图片
Feb 17 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
详解nodejs http请求相关总结
Mar 31 NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 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制作静态网站的模板框架(二)
2006/10/09 PHP
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
跨浏览器开发经验总结(四) 怎么写入剪贴板
2010/05/13 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
jquery ajax分页插件的简单实现
2016/01/27 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
Python采集腾讯新闻实例
2014/07/10 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Python sys.argv用法实例
2015/05/28 Python
Django 路由系统URLconf的使用
2018/10/11 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
澳大利亚设计的婴儿和女孩的衣服:Oobi
2018/12/16 全球购物
百度软件工程师职位
2013/02/14 面试题
工程开工庆典邀请函
2014/02/01 职场文书
快递员岗位职责
2014/09/12 职场文书
养成教育工作总结
2015/08/13 职场文书
高中英语教学反思范文
2016/03/02 职场文书