中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么掌握Node.Js流程

發布時間:2021-11-06 15:58:36 來源:億速云 閱讀:107 作者:iii 欄目:web開發

本篇內容介紹了“怎么掌握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分層同時也簡化了分組開發。不同的開發人員可同時開發視圖、控制器邏輯和業務邏輯。

“怎么掌握Node.Js流程”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

荔波县| 长泰县| 东乌| 宿松县| 孝感市| 大竹县| 八宿县| 台北县| 灵台县| 柞水县| 凌云县| 万年县| 孟连| 东平县| 华阴市| 岳西县| 云梦县| 广汉市| 襄汾县| 沭阳县| 庐江县| 宁化县| 吉林市| 余江县| 建德市| 鄂托克前旗| 奉贤区| 阳新县| 深圳市| 南乐县| 邓州市| 乡宁县| 岐山县| 屏南县| 体育| 从化市| 农安县| 民勤县| 陆川县| 论坛| 鄂尔多斯市|