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通过phantomjs实现下载网页
May 04 NodeJs
nodejs实现遍历文件夹并统计文件大小
May 28 NodeJs
使用DNode实现php和nodejs之间通信的简单实例
Jul 06 NodeJs
nodejs加密Crypto的实例代码
Jul 07 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
详解nodejs微信公众号开发——2.自动回复
Apr 10 NodeJs
nodejs multer实现文件上传与下载
May 10 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
nodejs中密码加密处理操作详解
Mar 20 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 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游戏编程25个脚本代码
2011/02/08 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
2015/12/24 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
外贸业务员的岗位职责
2013/11/23 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
营销与策划实训报告
2014/11/05 职场文书
万能检讨书
2015/01/27 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android
MySql按时,天,周,月进行数据统计
2022/08/14 MySQL