832 次瀏覽
為了在http請求中接收一些資料,讓我們在url路徑‘/add-username’上新增一個表單:app.use('/add-username', (req, res, next)=>{ res.send(' Send '); });為了解析http請求,我們需要一個第三方庫body-parser:這是一個生產所需的依賴項npm install –save body-parserexpress js提供中介軟體use函式,在新增中介軟體之前包含一個body parser。const http = require('http'); const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.urlencoded({extended: false}));上面顯示的use(0函式預設使用next()函式,因此http請求會在沒有任何問題的情況下傳遞到下一個中介軟體。以上… 閱讀更多
417 次瀏覽
為了處理不同的路由,使用use()函式。use()函式有多個過載版本,其中一個版本也接受url路徑作為引數。根據url路徑,將為各個中介軟體過濾請求。const http = require('http'); const express = require('express'); const app = express(); app.use('/', (req, res, next)=>{ console.log('第一個中介軟體'); res.send('第一個中介軟體: Hello Tutorials Point '); }); const server = http.createServer(app); server.listen(3000);在上面的例子中,我們使用‘/’作為url路徑,這是預設的。現在,由於每個路由都以‘/’開頭,因此上面的中介軟體將對每個http請求執行。它適用於‘/’… 閱讀更多
333 次瀏覽
應用程式中的每個請求都會經過 Express 中的多箇中間件。如果其中一箇中間件返回響應,則到此結束。如果任何中介軟體想要將請求傳遞給下一個中介軟體,它會在其函式呼叫的末尾使用 next() 函式呼叫。Http 請求 -> 中介軟體 (req, resp, next) -> 中介軟體 (req, res, next) -> Http 響應 (res.send())。const http = require('http'); const express = require('express'); const app = express(); app.use((req, res, next)=>{ console.log('第一個中介軟體'); }); const server = http.createServer(app); server.listen(3000);中介軟體是使用上面顯示的 use 函式新增的。Use() 函式基本上接收三個引數:請求、響應和 next() 函式。… 閱讀更多
88 次瀏覽
為什麼需要 express.js?編寫核心 Node.js 程式碼來獲取請求資料並解析它非常複雜。正如我們在之前的文章中看到的,我們編寫了資料和結束事件來獲取簡單的請求資料。Express 使這個過程更簡單。它幫助開發人員更專注於編寫業務邏輯,而不是 Node 的內部複雜性。Express.js 承擔了 Node 內部工作的大部分繁重工作。還有一些其他的 express.js 替代方案可用,例如 Adonis.js、Sails.js 等。安裝 express.js 為什麼是 –save 而不是 –save-dev 用於 express?Express 是一個主要的執行時所需庫,所以它是一個依賴項,而不僅僅是開發依賴項。這就是為什麼… 閱讀更多
133 次瀏覽
在之前的示例中,我們使用了 VS Code 中的偵錯程式來檢查任何邏輯錯誤。在本文中,我們將瞭解如何使用除錯控制檯並在更改時自動重新啟動偵錯程式。在除錯控制檯中,我們還可以鍵入表示式並預先評估其結果。這在查詢邏輯錯誤方面非常有用。在左側選單中,我們還可以檢視變數和表示式,例如:在變數部分,開發人員可以透過雙擊其值並進行編輯來更改變數的值。這將直接更改應用程式執行時,並將生效。這樣一個… 閱讀更多
410 次瀏覽
錯誤型別包括:語法錯誤執行時錯誤邏輯錯誤語法錯誤 - 這些很容易找到,因為大多數開發工具(如 Visual Studio Code)在出現語法錯誤時都會顯示紅線。解決方案的建議可能不正確,但它可以幫助瞭解程式碼特定區域出現的問題。執行應用程式時,控制檯終端將顯示錯誤。控制檯日誌可以指向發生錯誤的確切行。更常見的語法錯誤例如缺少程式碼塊的結束括號,需要識別正確的程式碼塊。執行時錯誤 - 例如 -… 閱讀更多
633 次瀏覽
現在,到目前為止,我們已經看到了如何使用 npm init 命令建立一個 Node 專案,以及如何新增指令碼來執行應用程式。為什麼需要第三方庫我們使用了 Node.js 的核心模組,例如 http、fs 等,這些模組預設情況下隨 Node.js 提供,但是僅使用這些核心模組並不能簡化我們的工作。為了新增更多有用的功能和更簡單的程式碼,我們需要安裝第三方庫,例如 express、body-parser 等。我們從雲端儲存的 npm 儲存庫中獲取第三方庫。安裝是使用 npm install 命令完成的。Nodemon我們使用 npm start 命令執行我們的 App.js 檔案。… 閱讀更多
296 次瀏覽
到目前為止,我們使用以下命令執行我們的 App.js:Node App.js我們可以使用 npm 指令碼執行或除錯我們的應用程式。如何啟動一個 Node 專案命令是:npm init上面的命令將啟動一個專案,它將詢問一些關於專案名稱和啟動檔名等問題。由於我們已經有了 App.js 檔案,因此請將 App.js 檔案作為啟動入口檔名。npm init 命令將建立一個 package.json 檔案,從中可以新增/更新/刪除專案的依賴項。Package.json 檔案如下所示,它是根據副檔名建議的 json 檔案格式:{ "name": "dev", "version": "1.0.0",… 閱讀更多
116 次瀏覽
在我們之前的獲取使用者輸入並將其儲存到檔案的示例中,只有一個檔案。但在現實場景中,我們將不得不建立多個檔案以使程式碼保持簡單易讀。讓我們看看如何在 Node.js 中使用模組系統。我們有 App.js:const http = require('http'); const fs = require('fs'); const server = http.createServer((req, res)=>{ const url = req.url; if(url === '/'){ res.write(''); res.write(' Hello TutorialsPoint '); res.write(' Submit '); res.write(''); … 閱讀更多
297 次瀏覽
Node.js 只使用一個 JavaScript 執行執行緒。問題是:Node.js 如何處理多個 http 或任何其他請求,以及效能和安全方面的問題?Node.js 在應用程式啟動時啟動事件迴圈,並使用它來處理回撥函式。Node.js 保持一個工作池。長時間執行的操作被轉移到此工作池,事件池僅在任務完成後處理來自此工作池的響應。工作池與作業系統一起執行繁重的工作並管理任務排程。工作池完成後,使用回撥函式響應事件迴圈。事件迴圈保持… 閱讀更多