后端路由

  1. 前端请求的URL地址,都要对应一个后端的处理函数,那么 这种URL地址到 处理函数之间的对应关系,就叫做后端路由;

  2. 在Express中,路由的主要职责 就是 把客户端的请求,分发到对应的处理函数中。

express定义并使用路由

router.js

// 路由模块只关心路由规则对象的对应关系,并不关系处理函数,需要把处理函数抽离出去 --- 单一路由职责
// 导入 express
const express = require('express')

// 调用express.Router(),返回
const router = express.Router()

// 导入 controller 业务处理模块
const ctrl = require('./controller')

// 创建路由规则
router.get('/', ctrl.showIndexPage)

router.get('/about.html', ctrl.showAboutPage)

router.get('/movie.html', ctrl.showMoviePage)

router.post('/adduser', ctrl.addUser)

// 暴露路由对象
module.exports = router

app.js

// 导入模块
const express = require('express')

// 创建服务器
const app = express()

// 导入路由模块,得到路由对象
const router = require('./router')

// 使用app.use() 方法,安装到app服务器上
app.use(router)

// 启动服务器
app.listen(4444, () => {
  console.log('express server running at http://127.0.0.1:4444')
})
  

controller.js业务处理模块

const showIndexPage = (req, res) => {
  res.send('./views/index.html', {root: __dirname})
}
const showAboutPage = (req, res) => {
  res.send('./views/about.html', {root: __dirname})
}
const showMoviePage = (req, res) => {
  res.send('./views/movie.html', {root: __dirname})
}
const addUser = (req, res) => {
  res.send('添加用户成功!')
}

module.exports = {
  showIndexPage,
  showAboutPage,
  showMoviePage,
  addUser
}

nodejs(10)express路由的更多相关文章

  1. nodejs开发 express路由与中间件

    路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资 ...

  2. nodejs之express路由与动态路由

    1.快速创建express项目步骤 /** * 1.cd 到项目里面 * 2.npm init --yes 创建package.json文件 * 3.安装express * npm install e ...

  3. [转] NodeJS框架express的途径映射(路由)功能及控制

    NodeJS框架express的路径映射(路由)功能及控制 我们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇CSSer将提供express框架的route和route co ...

  4. nodejs之express静态路由、ejs

    1.静态路由与ejs使用 /** *1.安装ejs npm install ejs --save-dev * *2.express 里面使用ejs ,安装以后就可以用,不需要引入 * *3.配置exp ...

  5. nodejs之express的使用

    Express是目前最流行的基于Node.js的Web开发框架,可以快速的搭建一个完整功能的网站. Express框架建立在内置的http模块上,http模块生成服务器的原始代码如下. var htt ...

  6. 前端跨域问题的总结&&nodejs 中间层的路由转发

    前后端交互的时候,跨域是避不开的问题. 总结就是如下: 1.Cors 我在做前后端分离的时候,会采用cors 的方法:便于其他源的调用接口,这个可以设置成任意的源头,也可以允许指定的源头. 下面的是n ...

  7. 使用nodejs和express搭建http web服务

    目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 express ...

  8. NodeJS 框架 Express 从 3.0升级至4.0的新特性

    NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...

  9. npm install Error:EPROTO: protocol error, symlink '../mime/cli.js' -> '/vagrant/src/nodejs/node_modules/express/node_modules/send/node_modules/.bin/mime'

    我在ubuntu上使用npm安装依赖是出现下面错误: npm ERR! Linux 3.13.0-101-genericnpm ERR! argv "/usr/bin/nodejs" ...

  10. 阿里云主机Nginx下配置NodeJS、Express和Forever

    https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...

随机推荐

  1. Java基础学习总结(二)

    Java语言的特点: Java语言是简单的 Java语言是面向对象的 Java语言是跨平台(操作系统)的(即一次编写,到处运行) Java是高性能的 运行Java程序要安装和配置JDK jdk是什么? ...

  2. 载域和运行域的理解(ARM程序是怎么运行的)

    对ARM加载域和运行域的理解 一般而言,一个程序包括只读的代码段和可读写的数据段.在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly):可读写的全局变量和静态变量被称作RW段( ...

  3. Adapter之自定义Adapter

    前言: 在我们写程序是经常会用到适配器,当系统自带的适配器不够用时即可自己定义适配器 正文: 因为我们用到的ListView视图所以我们先初始化ListView,在我们的主活动中添加如下代码 < ...

  4. vCenter组件和服务

    1).随VMware Platform Services Controller一起安装的服务 a. vCenter Single Sign-On身份验证服务 b. vSphere 许可证服务 c. V ...

  5. [ cocos2d-JS ] 创建项目命令

    cocos new HelloJS -l js -p com.neworigin.HelloJS -d D:\0-Game\cocosJS-project

  6. JPA#实体属性转换器

    __震惊,一下内容竟然是空白 用途 (自动转换数据库字段和实体属性间的最佳取值): - 1. POJO持久化到数据库表中的时候,对某些特殊属性处理后,用处理过的值作为数据库字段的值. 2. 从数据库查 ...

  7. Go语言 使用append() 为切片动态添加元素

    Go语言的内建函数 append() 可以为切片动态添加元素.不过需要注意的是,在使用 append() 函数为切片动态添加元素时,如果空间不足以容纳足够多的元素,切片就会进行“扩容”,此时新切片的长 ...

  8. 十一、JavaScript之两种注释方法

    一.代码如下 二.运行效果如下

  9. 079-PHP数组排序,两次循环法封装成函数

    <?php function mysort($arr){ //将排序的代码封装为函数 echo '<br />数组排序之前的信息:<br />'; print_r($ar ...

  10. jquery 版本冲突解决办法

    <!-- 引入1.6.4版的jq --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jq ...