亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員web前端學習教程之Node Js流程

發布時間:2020-08-17 00:50:35 來源:ITPUB博客 閱讀:120 作者:好程序員IT 欄目:web開發

   好程序員 w eb 前端學習教程之 Node Js 流程 1 ,項目前期準備:

 

  以 express 框架為例

 

  npmiexpress-generator-g// 全局安裝 express 框架

 

  express-e// 生成 express 應用骨架

 

  npmi// 安裝依賴

 

  npmstart// 3000 端口監聽

 

  拓展:目前最市面上最流行的 node 框架有:

 

  --Sail.js

 

  Sails.js 就像是 Node.js 平臺上的 Rails 框架。這是一個可靠可伸縮的開發框架,面向服務的架構,提供數據驅動的 API 集合。用來開發多玩家游戲、聊天應用和實時面板引用非常方便,也可用于開發企業級 Node.js 應用。

 

  Sails.js 基于 Node.js,Connect,Express Socket.io 構建。

 

  --Koa.js

 

  koa.js 是下一代的 Node.js Web 框架。由 Express 團隊設計。旨在提供一個更小型、更富有表現力、更可靠的 Web 應用和 API 的開發基礎。

 

  Koa 可以通過生成器擺脫回調,極大地改進錯誤處理。 Koa 核心不綁定任何中間件,但提供了優雅的一組可以快速和愉悅地編寫服務器應用的方法。

 

  2, 項目開始

 

  -- 利用 bootstrap 完成布局 ( 或者使用 bulma 前端 css 框架也很方便 )

 

  -- 把需要復用的小組件放在一個文件夾在 , 這里我新建了一個 commjs 目錄

 

  -- 構造函數中加載 DOM 結構 ( 面向對象思想 )

 

  -- 把一切需要重復使用的組件模塊化,哪里需要哪里引入,代碼復用

 

  3 ,理解 mvc

 

  -- 控制器 Controller

 

  是應用程序中處理用戶交互的部分。

 

  通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。

 

  作用:根據路由中設置的路徑不同,調用控制器中對應的方法 ( 函數 )

 

  res.body=> 獲取 post 請求中傳遞的參數

 

  res.query=> 獲取 get 請求中的數據

 

  業務邏輯基本都在控制層,調用模型中相對應的函數,把需要傳遞的數據作為參數傳遞進去

 

  -- 模型 Model

 

  Model( 模型 ) 是應用程序中用于處理應用程序數據邏輯的部分。

 

  作用:通常模型對象負責在數據庫中存取數據。

 

  因為模型中的函數需要在控制器里調用,所以在最后需要導出模型。

 

  模型里 , 涉及到數據庫的操作需要依賴 mogoose

 

  模型處理數據會返還一個 promise 對象,成功或者失敗通過 Promise.then 調用控制器里傳遞過來的成功或者失敗的函數

 

  再由控制器 res.json 返還到前端

 

  --View( 視圖 )

 

  是應用程序中處理數據顯示的部分。

 

  通常視圖是依據模型數據創建的

 

  4, 前端到后端

 

  作為前端如果我們需要拿到后端的數據,就得發送 ajax 請求,如果涉及到文件操作,就必須用 post 請求

 

  通過不同的 url( app.js 里設置過 ) ,拿到不同的數據

 

  view-Controller-Model ,根據返還的數據渲染頁面

 

  這里還是 MVC 模式,所以 MVC 流程必須得熟悉。

 

  5, 功能

 

  登錄 :

 

  涉及到數據庫的操作,查詢的結果是 Promise 對象,

 

  控制器里面的操作還是那么回事 , 前端傳遞到控制器的參數,一個成功的回調,一個失敗的回調

 

  模型里 promise.then() 決定調用成功或者失敗的函數,傳到控制器回調,控制器 res.json 返還到信息前端

 

  需要保存用戶登錄信息: npmicookie-session--save

 

  app.js 中配置 cookie-session 中間件

 

  檢查是否登錄:

 

  前端加載時,發送 ajax 請求,根據響應信息,判斷是否登錄,渲染登錄效果

 

  點擊退出時,把 req.session 置為 null

 

  **fromData.append("","") 可以追加請求信息

 

  6, 關于文件上傳

 

  -- 涉及到文件上傳,在服務器端 ( 路由 ) 中引入

 

  multer 模塊 npmimulter--save

 

  -- 配置文件上傳, cv 原則,修改保存位置和命名規則即可

 

  -- 路由里,回調函數前加一個文件上傳的方法

 

  router.post('',upload,single(' 文件上傳表單 name ') fn)

 

  -- 控制器判斷是否有文件上傳 (res.file)

 

  如果有用變量儲存文件路徑 =>constfile="/ 路由中配置的保存路徑 /"+req.file.filename

 

  7,mvc 意義

 

  MVC 分層有助于管理復雜的應用程序,因為您可以在一個時間內專門關注一個方面。例如,您可以在不依賴業務邏輯的情況下專注于視圖設計。同時也讓應用程序的測試更加容易。

 

  MVC 分層同時也簡化了分組開發。不同的開發人員可同時開發視圖、控制器邏輯和業務邏輯。

 

  8 ,總結

 

  Node.js 實現了前后端分離,把 mvc 理解之后,所有的操作都是按部就班,前端請求到后端數據,只用根據請求到的數據來渲染頁面,后端控制器里主要負責業務邏輯,模型里面保存的是數據 (mongodb 是非關系型數據庫,需要轉化成關系型數據庫 ) 。控制器聯系著顯示層和模型,它決定后端返回什么數據,前端能拿到什么數據

 

  本文由 好程序員 web 前端培訓學員總結。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万盛区| 肥西县| 新兴县| 崇礼县| 印江| 浦北县| 汝城县| 隆化县| 措勤县| 沂南县| 聂拉木县| 永兴县| 牙克石市| 遂溪县| 盐亭县| 德惠市| 凤凰县| 武城县| 桂东县| 汝城县| 商水县| 冷水江市| 麻江县| 姚安县| 津市市| 宜城市| 姜堰市| 赣榆县| 秀山| 古蔺县| 安溪县| 台东县| 习水县| 青岛市| 晋州市| 大渡口区| 曲阜市| 五大连池市| 桓仁| 宣恩县| 准格尔旗|