JavaScript >> Javascript 文檔 >  >> Node.js

Express.js 指南前言:Expresss.js 綜合書籍

親愛的讀者,您手裡拿著一本書,它將讓您了解並流暢地使用 Express.js 框架——在 Node.js 上的 Web 應用程序編程中事實上的標準。我特別推薦這本書,因為它是由一位實踐工程師編寫的,他對 Web 應用程序開發的全棧,尤其是 Express.js 有全面的了解。

Azat 和我在 Storify 使用相同的 Node.js/Express.js 代碼庫——華盛頓郵報、CNN、BBC、白宮和其他新聞機構使用的社交媒體管理工具——最近被 LiveFyre 收購。在 Express.js 指南發布之前,他讓我寫前言,因為它聽起來客觀、真誠和公正,來自 another 的創建者 Node.js 框架——CompoundJS。

然而,沒有人在讀前言。因此,我將分享我的故事,而不是前言。實際上,我從不認為它值得分享,而且絕對沒有什麼令人興奮的。但從另一個角度來看——成千上萬的年輕程序員過著相似的普通生活——這可能是鼓舞人心的:這是一個普通的故事,但卻是一種成功的故事。

我的 Web 開發之路始於我還是一名學生並作為初級 PHP 程序員加入一個團隊時。我在這里工作了大約 5 年,我學到的主要教訓是:與實際工作經驗相比,教育根本算不了什麼。我職業生涯的下一頁是外包工作(PHP 和 Ruby on Rails)。然後我找到了 Node.js。

這是我一直想要的東西:不需要等待保留所有資源的 DB/IO 操作的進程,而是做一些有用的事情。這就是我開始使用它的簡單原因;與同步編程環境相比,它更高效。我所說的“高效”並不是指處理速度,而是指編程風格上的更多靈活性。

作為這種靈活性的一個很好的例子,我可以分享一些我最近為 Jugglingdb ORM 的 Redis 適配器編寫的解決方案。問題:在網站使用高峰期間,我們運行了大量的數據庫查詢來服務頁面,並且大多數查詢都是相同的。顯而易見的解決方案是緩存查詢的結果,但是這種解決方案需要額外的編碼和一些緩存失效的邏輯。我們提供了一個更好的解決方案:緩存查詢而不是結果。當查詢到來時,我們不會立即執行它;相反,我們等待一段時間,收集相同的查詢,然後執行一次查詢並運行多個回調來服務所有客戶端。這個解決方案很簡單,不需要額外的邏輯。結果,即使在高峰期,我們的 db 使用率也保持平穩。這個解決方案在 Node.js 中是很自然的,這就是 Node.js 搖滾的原因!

發現 Node.js 後的生活很美好,充滿了有趣的挑戰和工作,但有一點很煩人:每次我開始一個新項目時,我都必須做幾乎相同的工作來組織代碼。對於作為 Rails 開發人員的我來說,能夠快速創建結構良好的 MVC 應用程序、生成腳手架控制器/視圖和其他東西真的很棒。但是 Node.js 中缺少這種工具,這就是我在聖誕節假期編寫它的原因;該項目最初被稱為 express-on-railway,然後是 RailwayJS,然後是 CompoundJS。

該項目的主要目標是為 Express.js 應用程序帶來結構,添加以標準方式擴展應用程序的能力,並生成應用程序代碼。所以,它不是一個新的框架,而只是具有良好 MVC 結構的 Express.js,這對於除了 Express.js 不需要學習任何東西的開發人員來說,也能理解 CompoundJS 應用程序中發生的事情。它是對 Express.js 和 Rails 經驗的一種捎帶:想法是從 Rails 中獲得最好的想法並帶到節點平台,而 Express.js 被選為基礎,因為它是最流行的 Node.js 框架並且有一個比較大的社區,所以我不會孤單地使用我的“新框架”。這是我開源時代的開始,這徹底改變了我對編程和所有事情的態度,但這是另一回事了。

我可以說什麼來總結:Node.js 中的 Web 開發始於 Express.js。它是一個簡約且強大的框架,可為您提供構建體面的 Web 應用程序所需的一切。即使您決定在某個時候轉向一些更高級的框架,Express.js 知識也是您必須學習的基本技能。此外,本書包含開始使用 Express.js 所需了解的所有內容,並清楚地解釋了所有概念和大多數新手通常提出的問題的答案。由於這些原因,這本書是必讀的!

——

阿納托利·查卡耶夫,

CompoundJS 和 JugglingDB 的創建者


Tutorial JavaScript 教程
  1. CodePen - 一個簡單的 SVG Blob 編輯器 [GSAP]

  2. 8 個必須知道的 JavaScript 數組方法 | JavaScript 數組操作

  3. 編寫 JavaScript 框架——客戶端路由

  4. 🍌緩存=你桌上的香蕉。使用 react-query 反應性能

  5. 如何使用 CSS 進行下拉菜單轉換?

  6. 使用 Vue.js 和 Apollo 客戶端構建 GraphQL API

  7. Windows XP 使用 HTML、CSS 和 JavaScript

  1. 為我的靜態站點生成器實現很酷的功能

  2. WebRTC簡介

  3. 使用 AWS SES、Netlify 和 Gatsby 以電子郵件形式發送聯繫表格

  4. 根據 localStorage 布爾值處理 if 條件中的 addEventListener

  5. 199. 二叉樹右側視圖

  6. Vue3 教程 - 05 排序

  7. 讓我們連接

  1. 引導您的 React Native 應用程序

  2. 作為軟件開發人員理解大 O 表示法

  3. 40 多種掌握 Web 的有用資源🎁

  4. 項目就是一切