自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么會Js但是依然不會寫 Node?原因竟是這三點...

開發(fā) 前端
Node:指的是一個運行環(huán)境。就像瀏覽器一樣,是?js?代碼執(zhí)行的位置。我們下載的這個安裝包,其實就是 node,也就是運行環(huán)境。

Hello,大家好,我是 Sunday。

前兩天有個同學問我說:“學到什么程度才是 node js 入門?”

圖片圖片

這個問題不是第一次聽到了,之前也有問到過類似的問題。

其實所謂 Node 和 NodeJS 是不太一樣的:

  • Node:指的是一個運行環(huán)境。就像瀏覽器一樣,是 js 代碼執(zhí)行的位置。我們下載的這個安裝包,其實就是 node,也就是運行環(huán)境。

圖片圖片

  • Nodejs:指的是在 node 環(huán)境中執(zhí)行的 js 代碼。只要你會 js,那么就 “天生入門”。

所以 對于前端來說,“NodeJS 天生入門”。

那么為什么所有的同學都會 NodeJS,但是卻 不會使用 NodeJS 搭建后端項目呢?

其實原因主要有三點:

  1. 不熟悉 Nodejs 的 API
  2. 不熟悉 后端開發(fā)邏輯
  3. 不會使用 Nodejs 的框架

關(guān)于 node API

在前端的學習中,我們通常都需要學習 BOM 和 DOM 的概念。它們兩個都是在瀏覽器中所獨有的。

但是在 Node 環(huán)境下,它是有一套獨有的 API 的

圖片圖片

如果想要使用 Node,那么就必須要了解這些 API 才可以。

關(guān)于后端開發(fā)邏輯

什么是后端開發(fā)邏輯呢?咱們舉個例子:


比如在前端項目中,我們可能會經(jīng)常使用 Vuex || Redux 來保存當前用戶的狀態(tài)。但是在服務(wù)端中,是 不可以 直接使用全局狀態(tài)管理工具來保存用戶狀態(tài)的。

因為對于后端來說,不存在 當前用戶的概念。后端會通過 會話機制 來管理用戶狀態(tài),而不是像前端那樣直接使用全局狀態(tài)管理工具。

除此之外,還有 數(shù)據(jù)庫操作、事務(wù)處理、并發(fā)處理 等等,這些操作在前端都是沒有的。

所以,如果沒有這些后端開發(fā)邏輯,那么想要完成對應(yīng)的后端開發(fā),就是天方夜譚了。

關(guān)于Node框架

不使用框架,僅使用 NodeJS 的原生 API(path模塊、http模塊 等),想要構(gòu)建一個后端項目,肯定是非常困難的。(就好比現(xiàn)在讓大家不使用任何框架,搭建一個前端項目一樣)

所以說,想要使用 NodeJS 搭建自己的后端項目,那么除了要了解 JavaScript 之外,還需要掌握 NodeJS 框架的使用。

我在這里給大家構(gòu)建了一個表格,描述了目前最火的 5 個 NodeJS 框架的特點,以供大家參考:

框架

主要特征

優(yōu)點

缺點

Express.js:最老牌

– 簡約、靈活、高度定制
– 中間件支持
– 強大的路由
– 與模板引擎和數(shù)據(jù)庫兼容

– 易于學習和使用
– 豐富的文檔和社區(qū)支持
– 高度可定制

– 與更具主見的框架相比,缺乏內(nèi)置功能
– 在較大的應(yīng)用程序中,中間件管理可能變得復(fù)雜

koa.js:和 Express 是一家

– Async/await 實現(xiàn)更好的控制流
– 輕量級和模塊化
– 增強上下文處理

– 代碼更清晰,可讀性更強
– 更好地控制請求/響應(yīng)處理
– 鼓勵模塊化架構(gòu)

– 與 Express.js 相比,社區(qū)規(guī)模較小
– 常見任務(wù)需要更多手動設(shè)置

NestJS:最強大,大型應(yīng)用必備

– 模塊化架構(gòu)
– 完全支持 TypeScript
– 內(nèi)置依賴注入
– 支持微服務(wù)和 GraphQL

– 強大的 TypeScript 支持
– 結(jié)構(gòu)良好、可擴展的應(yīng)用程序
– 豐富的內(nèi)置功能和模塊

– 學習難度較高,尤其是對于 TypeScript 新手來說
– 對于簡單的項目來說可能有點過度

Fastify:不直觀

– 高性能,低開銷
– 基于 JSON Schema 的驗證和序列化
– 強大的插件架構(gòu)

– 速度極快且輕量
– 內(nèi)置驗證和序列化
– 高度注重性能

– 與 Express.js 相比,生態(tài)系統(tǒng)較小
– 對于習慣于傳統(tǒng)框架的開發(fā)人員來說,直觀性較差

Hapi.js:以配置為中心

– 以配置為中心
– 全面的插件系統(tǒng)
– 強大的安全功能和輸入驗證

– 高度可配置性和可擴展性
– 高度注重安全性和輸入驗證
– 大量插件和內(nèi)置功能

– 更復(fù)雜的配置設(shè)置
– 與 Express.js 相比,學習曲線更陡峭


責任編輯:武曉燕 來源: 程序員Sunday
相關(guān)推薦

2024-06-28 12:05:24

jsNode模塊

2013-08-23 14:22:45

SA系統(tǒng)管理員運維

2022-01-26 13:28:43

手機內(nèi)存硬件設(shè)備

2020-05-21 15:54:36

5G網(wǎng)絡(luò)無人機

2022-01-24 14:42:03

手機技術(shù)廠商

2021-12-21 23:16:35

iOS蘋果系統(tǒng)

2020-10-10 17:33:09

硬盤商家顆粒

2019-05-27 15:30:44

Node.jsJavaScript前端

2014-12-04 12:51:09

2019-11-13 22:31:23

智能會議平板

2021-12-03 11:05:24

人工智能AI智能交通

2023-06-30 07:15:40

顯示器高度角度

2018-02-10 09:36:16

物聯(lián)網(wǎng) 邊緣計算OEM

2016-07-21 11:38:42

云計算

2024-11-18 15:57:49

2021-12-16 15:53:14

遠程辦公網(wǎng)絡(luò)攻擊勒索軟件

2017-10-30 14:51:44

APP網(wǎng)頁窗口

2020-10-12 16:43:48

無人機互聯(lián)網(wǎng)技術(shù)

2012-05-02 15:56:20

PHP

2020-07-07 08:51:52

編程語言C語言Java
點贊
收藏

51CTO技術(shù)棧公眾號