封装路由模块(express)|学习笔记

简介: 快速学习封装路由模块(express)

开发者学堂课程【Node.js 入门与实战封装路由模块(express)】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8320


封装路由模块(express)

 

内容介绍:

一、 授课内容

二、 下载插件

三、 启动服务

 

一、 授课内容

.复习 hackernews 实现

.模块化改造 Hacker News 思路(5个模块)

.通过设置响应报文头让浏览器实现弹框下载功能.网页中的./和../等相对路径的含义

+相对于请求当前页面的 url 来计算,根据这个url计算出上一级url或者本级url等

+最终浏览器会根据相对 url(相对路径)计算出绝对路径然后再请求服务器(向服务器发起请求). Buffer 类型介绍

express 介绍- express 介绍

express 实现 hello worldexpress 脚手架

express 简单路由

express 正则表达式路由+/A/index(1/.+)?$/express处理静态资源

express 中的 res.send()和 res.end()区别

res.json()等价于 res.send(json)、res.sendFile()、res.redirect()、res.status(code).end()- app.use()、app.get()、app.all()区别

-中间件介绍

. ejs 模板引擎介绍

. express 中集成模板引擎. body-parser 介绍

3.通过 express 改造 Hacker News1. MongoDb

二、下载插件

新建 js 文件,在终端新建,

代码:npm install -y

在安装 save()

App 代码:

// app.js模块职责:负责启动服务l/ 1.加载express模块

var exprfess = require( ' express ');//

2.创建 app 对象

var app = express();

// 3.注册路由

// 4.启动服务app.listenl;

Config代码:

module.exports ={

port: 9o90

};

有了则这个模块之后,加载 config 模块(代码如下:)

var config =require( './ config.js ');

启动服务代码(如下:)

// 4.启动服务

app.listen(config.port, function {

console.log( 'http: / / iocalhost: ' + config.port););

要新建一个 router 模块:(代码如下:)

// 3.注册路由

app.get( ' / ', function (req, res) {/ / body . . .

});

app.get( ' /index ' , function (req, res){/l/ body . . .

});

app.get( ' /submit', function (req,res) {// body . . .

});

app.get( ' /item', function (req, res)i/ / body . . .

});

app.get( ' /add' , function- (req, -res)-{--/  body . ..

});

我们已经了解 HTTP 请求的基本应用,而路由决定了由谁(指定脚本)去响应客户端请求。

在 HTTP 请求中,我们可以通过路由提取出请求的 URL 以及 GET/POST 参数。

上面的步骤做完之后 就是对它进行设置,还是右击 windowsè 设置 è 选项 è 选中总是启用 è 添加 è 在宿主机随便选着一个目录 è 下一步(如果不允许它共享就点击只读就行了)è 完成,完成之后打开计算机,在下面就有一个文件夹,文件夹里面就有刚刚添加的文件夹了。

然后就是把 prthan-3.64 amd64python-3.5.3- amd64 传上去,也可以复制上去,于添加的文件夹平级。随便装那个版本,不要忘记把团 Add Python 3.6 to PATH 勾上。这个是把它放在 path 路劲里面,就是配置 python 的环境变量,配置环境变量在高级设置里面的环境变量设置。你是用系统环境变量还是当前环境变量都行,只要放在环境变量里面就行了,最后就点击 install now 让它自己安装就行了。

 

三、启动服务

扩展 Hello World,添加一些功能来处理更多类型的 HTTP 请求。

代码:

案例:

var express = require('express');

var app = express();

// 主页输出 "Hello World"

app.get('/', function (req, res) {

console.log("主页 GET 请求");

res.send('Hello GET');

})

// POST 请求

app.post('/', function (req, res) {

console.log("主页 POST 请求");

res.send('Hello POST');

})

// /del_user 页面响应

app.get('/del_user', function (req, res) {

console.log("/del_user 响应 DELETE 请求");

res.send('删除页面');

})

// /list_user 页面 GET 请求

app.get('/list_user', function (req, res) {

console.log("/list_user GET 请求");

res.send('用户列表页面');

})

// 对页面 abcd, abxcd, ab123cd, 等响应 GET 请求

app.get('/ab*cd', function(req, res) {

console.log("/ab*cd GET 请求");

 res.send('正则匹配');

}) var server = app.listen(8081, function () {

var host = server.address().address

var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port)

})

图形解释:

image.png

Router.js 代码:

//路由模块,主要负责路由判断

// 1.创建一 router 对象 (router 对象既是一个对象,也是一个函数)

var express = require( ' express ' );var router = express.Router(;

// 2.通过router 对象设置(挂载)路由

app.get( ' / ', function (req, res) {/ / body . . .

});

app.get( ' /index ' , function (req, res){/l/ body . . .

});

app.get( ' /submit', function (req,res) {// body . . .

});

app.get( ' /item', function (req, res)i/ / body . . .

});

app.get( ' /add' , function- (req, -res)-{--/  body . ..

});

// 3.返回 router 对象

module.exports =router;

执行:

$ node express_demo2.js

应用实例,访问地址为 http://0.0.0.0:8081

输出:

用户列表页面

正则匹配

相关文章
|
3月前
|
JSON JavaScript 前端开发
超级实用!详解Node.js中的util模块和express模块
超级实用!详解Node.js中的util模块和express模块
|
6月前
|
中间件
95 # express 二级路由的实现
95 # express 二级路由的实现
32 0
|
6月前
88 # express 应用和路由的分离
88 # express 应用和路由的分离
16 0
|
7月前
|
JSON JavaScript 中间件
node.js中Express框架路由,中间件
node.js中Express框架路由,中间件
|
3月前
|
Web App开发 JSON 中间件
express学习 - (3)express 路由
express学习 - (3)express 路由
74 1
|
3月前
|
JavaScript 前端开发 中间件
Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库
Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库
114 0
|
4月前
|
测试技术
【Express】—路由配置
【Express】—路由配置
|
4月前
【Express】—Express路由请求
【Express】—Express路由请求
|
4月前
Express简单路由使用
Express简单路由使用
|
6月前
|
中间件
94 # express 兼容老的路由写法
94 # express 兼容老的路由写法
22 0