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事件的监听与触发的理解分析
Feb 12 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
nodejs实现获取某宝商品分类
May 28 NodeJs
nodejs 中模拟实现 emmiter 自定义事件
Feb 22 NodeJs
Nodejs中的this详解
Mar 26 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
docker中编译nodejs并使用nginx启动
Jun 23 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 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
日本十大惊悚动漫
2020/03/04 日漫
文章推荐系统(三)
2006/10/09 PHP
PHP 遍历文件实现代码
2011/05/04 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
python三引号输出方法
2019/02/27 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
台湾生鲜宅配:大口市集
2017/10/14 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
工程部主管岗位职责
2013/11/17 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
投标承诺书范本
2014/03/27 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
廉洁教育学习材料
2014/05/19 职场文书
项目合作意向书模板
2014/07/29 职场文书
七一建党节演讲稿
2014/09/11 职场文书
实习协议书
2015/01/27 职场文书
车间质检员岗位职责
2015/04/08 职场文书
2015年班干部工作总结
2015/04/29 职场文书
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
基于redis+lua进行限流的方法
2022/07/23 Redis