vue node --- 前后端聯系的知識梳理

前端、后端聯系知識梳理

  • 以打開瀏覽器,訪問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
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/250675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/250675.shtml
英文地址,請注明出處:http://en.pswp.cn/news/250675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP 銷毀指定目錄

PHP 銷毀指定目錄 銷毀指定目錄&#xff0c;以及之下的內容 <?phpfunction destroyDir($dir, $virtual false) { $ds DIRECTORY_SEPARATOR; $dir $virtual ? realpath($dir) : $dir; $dir substr($dir, -1) $ds ? substr($dir, 0, -1) : $dir; if (is_dir($dir) …

[譯]寫程序更快、更好、更便宜的藝術

原文 沒有人想延遲交付時間、超出預算。沒有一個開發人員會在早上醒來的時候想"我今天要做搞一些垃圾代碼。我如何才能增加、耗費雇主更多的錢&#xff1f;"。盡管如此&#xff0c;還是有許多的軟件項目進行的不是很好。總是有來自各方面的壓力&#xff0c;讓我們不得…

常見筆試面試問題點(轉載)

原文&#xff1a; java各種概念 Core Java總結 Base: OOA是什么&#xff1f;OOD是什么&#xff1f;OOP是什么&#xff1f;{oo(object-oriented):基于對象概念,以對象為中心,以類和繼承為構造機制,來認識,理解,刻畫客觀世界和設計,構建相應的軟件系統的一門方法;本意----模擬人類…

mongoose --- 建立一個集合規則,并導出.

使用mongoose寫一個集合的規則 首先要設計數據結構下面是newGoods.json里面的一條數據 {"ID": "ff89cf2e14e143dc9e49ad75f7bc7bb0","GOODS_SERIAL_NUMBER": "6901844910651","SHOP_ID": "402880e860166f3c0160167897…

PHP獲取用戶真實IP地址

PHP獲取用戶真實IP地址 <?phpfunction getRealIpAddr() { if (!empty($_SERVER[HTTP_CLIENT_IP])) { $ip$_SERVER[HTTP_CLIENT_IP]; } elseif (!empty($_SERVER[HTTP_X_FORWARDED_FOR])) //to check ip is pass from proxy { $ip$_SERVER[HTTP_X_FORWARDED_FOR]; } else…

虛擬機vmware的連接方式以及IP端口,協議等概念

1.NAT虛擬機相當于小弟&#xff0c;宿主機相當于大哥&#xff0c;宿主機虛擬出一個網段供虛擬機上網用 2.Bridge橋接&#xff0c;虛擬機和宿主機相當于局域網中的兩臺機器 3.Host-Only虛擬機只和宿主機通信&#xff0c;無法上網 32位和64位linux的區別轉載于:https://www.cnblo…

__METHOD__

轉載于:https://www.cnblogs.com/xiaobiaomei/p/8662846.html

node --- 模塊化連接MongoDB數據庫的參數設置方案之一

數據庫的初始化操作 連接的數據庫的名稱包含連接數據庫初始化所有的Schemas暴露給其他頁面使用的接口假設寫在 database/init.js 中 const mongoose require(mongoose); // 連接的數據庫的名稱是 lzhhc-vue const db mongodb://localhost/lzhhc-vue const glob require(gl…

Windows網絡接口API函數

Windows提供了一套非常輕量級的網絡函數&#xff0c;方便進行網絡應用開發&#xff0c;整理出來供參考使用。 The following functions are used in Windows networking: MultinetGetConnectionPerformanceWNetAddConnection2WNetAddConnection3WNetCancelConnectionWNetCancel…

PHP 實現縮略圖

PHP 實現縮略圖 <?php header("Content-type: image/png");function resize_image($filename, $tmpname, $xmax, $ymax) { $ext explode(".", $filename); $ext $ext[count($ext)-1]; //判斷文件類型&#xff0c;獲取不同的圖像if($ext "jpg…

微信小程序 - 五星評分(含半分)

轉載自&#xff1a;http://blog.csdn.net/column/details/13721.html演示&#xff1a;下載&#xff1a;小程序-星級評論.zip轉載于:https://www.cnblogs.com/cisum/p/9651110.html

node --- 監聽路由,讀取json文件,向MongoDB中寫入數據

開始 假設讀取的文件為newGoods.json假設數據的在MongoDB數據庫中,集合的規則是Goods下面將用到 koa-router:監聽路由,并調用指定的函數mongoose:node中操作MongoDB的接口庫fs:node的原生模塊,用于讀取/寫入文件 const Router require(koa-router); let router new Router…

windows cmd編輯文本

echo創建一個空的txt文件:echo.>1.txt這里>表示輸出到...echo.表示輸出一個空行(即換行)>命令可以擴展為>>表示的意思為附加到...例子:1.txt的內容為123456附加789到123456的后面:echo 789>>1.txt則1.txt的內容變為:123456789附加789到下一行是這樣的:ech…

PHP 實現圖片驗證碼

PHP 實現圖片驗證碼 步驟 產生隨機字符串創建一張簡單的圖片&#xff0c;設置背景色&#xff0c;文本色再加一些干擾線&#xff0c;干擾素輸出圖像銷毀圖像資源 <?php//PHP生成圖片驗證碼class VerifyImage{private $verifyCode;private $image;//生成隨機字串private fu…

vue --- 子組件監聽點擊事件,接收父組件參數.實現對應跳轉

開始 vue中子組件這一塊,有點麻煩。不是說它很難,而是它的傳送數據方式,以及和各種前端后端路由混在一起時,如果不清晰很容易就迷茫下面假設:路由配置文件為:router.js父組件為 parent.vue , 路徑為 ./parent.vue子組件1為 child1.vue, 路徑為 ./child1.vue子組件2為 child2.v…

分布式版本控制系統Git的安裝與使用(作業2)

&#xff08;本次作業要求來自&#xff1a;https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2103&#xff09; 分布式版本控制系統Git的安裝與使用 一、安裝Git bash軟件和安裝notepad&#xff08;安裝時修改自己安裝的路徑&#xff0c;git bash最后一個步驟需要都勾…

匯編 --- 初體驗

假設內存10000H中的值為23,10001H中的值為11,10002H中的值為22,10003H的值為11 在debug中執行以下代碼 mov ax,1000H mov ds,ax mov ax,[0] mov bx,[2] mov cx,[1] add bx,[1] add cx,[2]分析:8086CPU中由于段地址寄存器,無法直接賦值,因此需要先將值賦給通用寄存器然后再給ds…

PHP數組的排序函數

PHP數組的排序函數 介紹&#xff1a; sort() - 以升序對數組排序rsort() - 以降序對數組排序asort() - 根據值&#xff0c;以升序對關聯數組進行排序ksort() - 根據鍵&#xff0c;以升序對關聯數組進行排序arsort() - 根據值&#xff0c;以降序對關聯數組進行排序krsort() - …

763 Hex Conversion

原題網址&#xff1a;http://www.lintcode.com/zh-cn/problem/hex-conversion/ Given a decimal number n and an integer k, Convert decimal number n to base-k. 注意事項 1.0<n<2^31-1, 2<k<162.Each letter over 9 is indicated in uppercase 您在真實的面試中…

PHP Class中public,private,protected,static的區別

PHP Class中public,private,protected,static的區別 public&#xff1a;權限是最大的&#xff0c;可以內部調用&#xff0c;實例調用&#xff0c;可以被繼承。protected&#xff1a;受保護類型&#xff0c;用于本類和繼承類調用&#xff0c;實例化調用報錯。private&#xff1…