封装router模块补充|学习笔记

简介: 快速学习封装router模块补充

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

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


封装router模块补充

 

一、搭建APP.JS和router.js文件

1.APP.JS

//app.js 模块职责: 负责启动服务

//1.加载 express 模块

var express = require(express);

//加载 config.js 模块

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

//加载路由模块

Var router =require(./router.js);

//2.创建 APP 对象

Var app=express();

Console.log(router.tostring());

//3.注册路由

//设置 app 与 router 相关联

App.use(/,router);//表示访问当前根目录下的任何的一个路径都会执行后面的代码,通过router设置路由。通过 router.js 文件注册路由,把注册好的路由挂载到APP。

App.use(/,function(req,res)){

//body

});

App.use(function(req.res){

//body...

});//以上两段代码写法都是一样的,所以使用的时候,使用任意一个即可。

//4.启动服务

App.listen(config.port,function(){

Console.log(http://localhost:+config.port);

});

2. 路由执行代码

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

Var express=rquire(express);

Var router=express.router();

通过 router 设置了路由,挂载了路由

Router.get(‘/index’,function(fdsa,fdsa)){

//body...});//设置好执行路径,内部保存一个路由表,请求方法和请求路径

Router.get(‘/submit’,function(req,res)){

//body...});//先注册好路由

Router.get(‘/item’,function(redq,res)){

//body...});

Router.get(‘/add’,function(req,res)){

//body...});

Router.post(‘/add’,function(req,res)){

//body...});

//3.返回 router 对象

Module.exports=router;

3.application.js

app.use=function use(fn) {

Var offset=0;

Var path=/;

//default path to /

//disambiguate app.use([fn])

If(typeof fn!==function)

{

Var arg[0];

}

//first arg is the path

If(typeof arg !==funtion){

Offset=1;

Path=fn;

}

}

Var fns= flatten(slice.call(orguments,offset));

If(fns.length===0){

Throw new typeerror(app.use()requires a middleware function)}

//setup router

This.lazyrouter();

Var router=this._router;//router这个对象相当于 app 对象里面默认包含的对象

相关文章
|
7月前
|
前端开发 JavaScript 关系型数据库
若依框架------后台路由数据是如何转换为前端路由信息的
若依框架------后台路由数据是如何转换为前端路由信息的
681 0
|
2月前
|
缓存 移动开发 JavaScript
《vue2进阶篇:路由》第10章:vue-router,包括基础路由、嵌套路由、路由的query参数和params参数、命名路由、router-link的replace属性、编程式路由、缓存路由组件
《vue2进阶篇:路由》第10章:vue-router,包括基础路由、嵌套路由、路由的query参数和params参数、命名路由、router-link的replace属性、编程式路由、缓存路由组件
49 2
|
4月前
|
缓存 JavaScript
vue的多路由项目开发,您还在手动拼接路由名?
【8月更文挑战第20天】vue的多路由项目开发,您还在手动拼接路由名?
54 1
vue的多路由项目开发,您还在手动拼接路由名?
|
4月前
|
JavaScript UED
以 Vue 3 项目为例,多个请求下如何全局封装 Loading 的展示与关闭?其中大有学问!
以 Vue 3 项目为例,多个请求下如何全局封装 Loading 的展示与关闭?其中大有学问!
|
7月前
|
数据中心
常见光模块的封装
光模块的封装,保障了光通信的稳定和可靠性。本文介绍几种常见的光模块的封装类型。
|
前端开发
前端学习笔记202304学习笔记第十七天-vue3.0-命名路由的概念和具体用法
前端学习笔记202304学习笔记第十七天-vue3.0-命名路由的概念和具体用法
75 0
|
前端开发
前端学习笔记202304学习笔记第十七天-vue3.0-命名路由的概念和具体用法2
前端学习笔记202304学习笔记第十七天-vue3.0-命名路由的概念和具体用法2
66 0
|
前端开发 网络架构
前端学习笔记202304学习笔记第十七天-vue3.0-获取动态路由参数的两种方案1
前端学习笔记202304学习笔记第十七天-vue3.0-获取动态路由参数的两种方案1
101 0
|
前端开发
前端学习案例2-嵌套路由
前端学习案例2-嵌套路由
77 0
前端学习案例2-嵌套路由
|
前端开发 JavaScript API
深入揭秘前端路由本质,手写 mini-router
前端路由一直是一个很经典的话题,不管是日常的使用还是面试中都会经常遇到。本文通过实现一个简单版的 react-router 来一起揭开路由的神秘面纱。 通过本文,你可以学习到: • 前端路由本质上是什么。 • 前端路由里的一些坑和注意点。 • hash 路由和 history 路由的区别。 • Router 组件和 Route 组件分别是做什么的。