nodejs(10)express路由
后端路由
前端请求的URL地址,都要对应一个后端的处理函数,那么 这种URL地址到 处理函数之间的对应关系,就叫做后端路由;
在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路由的更多相关文章
- nodejs开发 express路由与中间件
路由 通常HTTP URL的格式是这样的: http://host[:port][path] http表示协议. host表示主机. port为端口,可选字段,不提供时默认为80. path指定请求资 ...
- nodejs之express路由与动态路由
1.快速创建express项目步骤 /** * 1.cd 到项目里面 * 2.npm init --yes 创建package.json文件 * 3.安装express * npm install e ...
- [转] NodeJS框架express的途径映射(路由)功能及控制
NodeJS框架express的路径映射(路由)功能及控制 我们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇CSSer将提供express框架的route和route co ...
- nodejs之express静态路由、ejs
1.静态路由与ejs使用 /** *1.安装ejs npm install ejs --save-dev * *2.express 里面使用ejs ,安装以后就可以用,不需要引入 * *3.配置exp ...
- nodejs之express的使用
Express是目前最流行的基于Node.js的Web开发框架,可以快速的搭建一个完整功能的网站. Express框架建立在内置的http模块上,http模块生成服务器的原始代码如下. var htt ...
- 前端跨域问题的总结&&nodejs 中间层的路由转发
前后端交互的时候,跨域是避不开的问题. 总结就是如下: 1.Cors 我在做前后端分离的时候,会采用cors 的方法:便于其他源的调用接口,这个可以设置成任意的源头,也可以允许指定的源头. 下面的是n ...
- 使用nodejs和express搭建http web服务
目录 简介 使用nodejs搭建HTTP web服务 请求nodejs服务 第三方lib请求post 获取http请求的正文 Express和使用express搭建http web服务 express ...
- NodeJS 框架 Express 从 3.0升级至4.0的新特性
NodeJS 框架 Express 从 3.0升级至4.0的新特性 [原文地址:√https://scotch.io/bar-talk/expressjs-4-0-new-features-and-u ...
- 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" ...
- 阿里云主机Nginx下配置NodeJS、Express和Forever
https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...
随机推荐
- Java基础学习总结(二)
Java语言的特点: Java语言是简单的 Java语言是面向对象的 Java语言是跨平台(操作系统)的(即一次编写,到处运行) Java是高性能的 运行Java程序要安装和配置JDK jdk是什么? ...
- 载域和运行域的理解(ARM程序是怎么运行的)
对ARM加载域和运行域的理解 一般而言,一个程序包括只读的代码段和可读写的数据段.在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly):可读写的全局变量和静态变量被称作RW段( ...
- Adapter之自定义Adapter
前言: 在我们写程序是经常会用到适配器,当系统自带的适配器不够用时即可自己定义适配器 正文: 因为我们用到的ListView视图所以我们先初始化ListView,在我们的主活动中添加如下代码 < ...
- vCenter组件和服务
1).随VMware Platform Services Controller一起安装的服务 a. vCenter Single Sign-On身份验证服务 b. vSphere 许可证服务 c. V ...
- [ cocos2d-JS ] 创建项目命令
cocos new HelloJS -l js -p com.neworigin.HelloJS -d D:\0-Game\cocosJS-project
- JPA#实体属性转换器
__震惊,一下内容竟然是空白 用途 (自动转换数据库字段和实体属性间的最佳取值): - 1. POJO持久化到数据库表中的时候,对某些特殊属性处理后,用处理过的值作为数据库字段的值. 2. 从数据库查 ...
- Go语言 使用append() 为切片动态添加元素
Go语言的内建函数 append() 可以为切片动态添加元素.不过需要注意的是,在使用 append() 函数为切片动态添加元素时,如果空间不足以容纳足够多的元素,切片就会进行“扩容”,此时新切片的长 ...
- 十一、JavaScript之两种注释方法
一.代码如下 二.运行效果如下
- 079-PHP数组排序,两次循环法封装成函数
<?php function mysort($arr){ //将排序的代码封装为函数 echo '<br />数组排序之前的信息:<br />'; print_r($ar ...
- jquery 版本冲突解决办法
<!-- 引入1.6.4版的jq --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jq ...