前端、后端联系知识梳理

  • 以打开浏览器,访问login为栗
  • 打开浏览器,访问localhost:8080/#/login
  • src/router/index.js 会根据 /login 找到对应的Login(src/components/pages/Login.vue)组件, 然后渲染到浏览器
  • 当输入用户名和密码,点击登录按钮后
  • 根据Login组件中配置的axios请求向后端发送请求.
  • 请求的url是: http://localhost:3001/login
  • 后端监听该url的代码如下
const Router = require('koa-router');
let router = new Router();router.post('/login', async(ctx)=>{// 此处是逻辑实现代码
})
  • 后端监听到该路由请求后,会用请求的参数和数据库进行比对.
  • 使用mongoose连接数据库的代码如下
const mongoose = require('mongoose');
const { resolve } = require('path');
const db = 'mongodb://localhost/smile-vue'exports.connect = () =>{mongoose.connect(db);let maxConnectTimes = 0;return new Promise((resolve, reject) =>{mongoose.connection.on('disconnected', (err) =>{// 断线重连,最大重连次数3次if(maxConnectTimes <= 3){maxConnectTImes++;mongoose.connect(db);} else{reject(err);throw new Error('[connect error] 数据库连接失败')}});// 失败mongoose.connection.in('error', () =>{console.log('[error] 数据库出错');mongoose.connect(db);})// 成功打开mongoose.connection.once('open', () =>{console.log('[ok] MongoDB connected successfully');resovle();})})
}
  • 导入各个集合规则
  • 使用glob
const glob = require('glob');
const { resolve } = require('path');export.initSchemas = () =>{glob.sync(resolve(__dirname, './schema', '**/*.js')).forEach(require);
}
// 此时,会连接到数据库,并初始化各个表的规则.
  • 使用mongoose查找数据
const User = mongoose.model('User');User.findOne({ userName: username }).exec().then(async (result) =>{console.log(result);
})
  • koa返回数据给前端
ctx.body = {code:200,message:msg
}

node --- koa、Mongoose、vue联系知识梳理相关推荐

  1. vue node --- 前后端联系的知识梳理

    前端.后端联系知识梳理 以打开浏览器,访问login为栗 打开浏览器,访问localhost:8080/#/login src/router/index.js 会根据 /login 找到对应的Logi ...

  2. koa+mongoose基础入门

    1.mongoose基本使用 1.安装mongodb npm install mongodb 2.引入mongodb数据表,连接mongodb,通过node来对mongodb进行异步的增删改查 con ...

  3. 数据结构(C语言版) 第 六 章 图 知识梳理 + 习题详解

    目录 一. 图的基本定义和术语 一.图的基本概念 1.度 2.连通 (1)连通图 (2)强连通/强连通图 3.回路 4.完全图 二.图的三种存储结构 1.邻接矩阵表示法 2.邻接表(链式)表示法 3. ...

  4. 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解

    目录 一.栈 0.栈的基本概念 1.栈的实现 2.栈与递归 3.Hanoi塔问题 二.队列 0.队列的基本概念 1.队列的实现 2.循环队列 2.1循环队列的相关条件和公式: 3.链队列 4.链队列完 ...

  5. 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解

    目录 一.线性表顺序存储结构(顺序表) 0.线性表的基本概念 1.样例引入:多项式相加 二.线性表链式存储结构(链表) 0.链表的基本概念 1.前插法代码实例 2.链表尾插法完整代码附带各种操作 三. ...

  6. vue基础知识之vue-resource/axios

    Vue基础知识之vue-resource和axios(三) vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必 ...

  7. [GCN] 图卷积知识梳理 -持续更新

    图卷积知识梳理 文章目录 图卷积知识梳理 1. 为什么 Graph Laplacian L=D−AL=D-AL=D−A --差分的方式理解 2. 为什么是 Graph Laplacian LLL -- ...

  8. 欢迎查看Vue总结知识

    标题 欢迎查看Vue总结知识 一. VUE:用于构建用户界面的渐进式 框架 可以将项目的一部分使用vue实现,也可以使用Vue实现整个项目 二. 特点 易用:会html.css.js更快上手 灵活:不 ...

  9. networkx2.5知识梳理

    networkx2.5知识梳理 1.基础知识 1.1.介绍 1.2.作用 1.3.Graph 1.3.1.Graph的定义 1.3.2.Graph的结构 1.3.3.Graph分类 2.基本操作 2. ...

最新文章

  1. 计算机网络分类(按覆盖范围分类)“名称、范围”
  2. 这一次,彻底弄懂 JavaScript 执行机制
  3. C/C++中的NULL讨论和总结
  4. 解决VS2019窗体设计器不显示
  5. nc拉单查询模版_用友NC的模板管理_操作步骤
  6. hadoop源码解析---INodeReference机制
  7. Pycharm TensorFolw配置
  8. Qfarm /load命令
  9. 12、图解横向扩容过程,如何超出扩容极限,以及如何提升容错性
  10. Qt使用MSVC编译器关闭“C4100:未引用的形参”警告的方法
  11. 强烈推荐:9 款用起来超爽的编程字体!
  12. mac os下可能是最好的豆瓣电台——diumoo
  13. 浅谈低成本视频动作捕捉技术
  14. 前端POST请求下载文件
  15. 通过 Amazon 获取图书的封面
  16. P1179 [NOIP2010 普及组] 数字统计
  17. 前端导出Excel,修改字体样式以及居中等
  18. CVPR 2022 最新106篇论文分方向整理|包含目标检测、动作识别、图像处理等32个方向
  19. [C75][こすぷれ喫茶娘々]アマツカミの巫女-妖狐戦奇譚 汉化补丁
  20. 天载配资策略指数能否创新高

热门文章

  1. 怎么避免UpdateData()函数弹出对话框
  2. 1650显卡学计算机,适合老电脑升级?GTX1650显卡开箱,性价比依然不高!
  3. 此应用无法在你的电脑上运行_能直运行iOS应用!苹果新macOS翻车 正式版下载后无法安装...
  4. 把Sublime Text 2打造成一个轻量级Python的IDE
  5. Flex4_HttpService组件
  6. js控制a标签点击事件 触发下载
  7. .NET开发过程中的全文索引使用技巧之Solr
  8. STL学习笔记5--map and multimap
  9. Vue 从入门到进阶之路(十四)
  10. 洛谷团队月赛题:题解