Express是一個快速、靈活且簡潔的Node.js框架,專為構建Web應用程式和API而設計,如路由、模板引擎、中介軟體等。我們將深入研究Express的核心概念、安裝與設定,並建立一個基本的Express應用程式。什麼是Express?Express是建構在Node.js之上一個精簡而靈活的應用程式框架。核心原則是簡化應用程式的構建和路由處理,同時提供了豐富的功能,使開發者能夠快速而輕鬆地建立健壯的Web應用程式和API。主要功能包括:中間件MiddlewareExpress使用中間件的概念,允許你在請求和回應的生命週期中執行功能。這使得添加驗證、日誌記錄、錯誤處理等功能變得非常簡單。app.usereq,res,next{console.logreq.method,req.url;next;};路由RoutingExpress提供了強大的路由功能,使得應用程式可以根據url的路徑和http方法來處理請求。使路由的設定變得非常簡單和靈活。app.get"/",req,res{res.send"Helloworld";};app.get"/test",req,res{res.send"test";};模板引擎支持ViewEngineExpress支援多種模板引擎,例如ejs和pug。這使得動態生成.html與前後端分離變得更加容易。//使用EJS模板引擎app.set"viewengine","ejs";app.get"/home",req,res{res.render"home",{data:"test"};};靜態檔案處理StaticFiles透過Express,你可以輕鬆地提供靜態檔案,如圖片、樣式表和客戶端JavaScript。app.useexpress.static"public";安裝與設定Express安裝Express是一個簡單的過程,使用npm(Node.js的套件管理器):npminstallexpress這會安裝Express到應用程式的nodemodules目錄中。安裝完成後,你可以在你的應用程式中引入它:constexpressrequire'express';constappexpress;建立基本的Express應用程式在應用程式目錄中,建立一個新的檔案app.js。然後我們透過express、http建立一個包含GET、POST、PUT、DELETE等不同http方法的應用程式範例:consthttprequire"http";constexpressrequire"express";constappexpress;//設定中間件以解析POST請求的JSON資料app.useexpress.json;app.get"/",req,res{res.send"Home";};app.get"/user/:id",req,res{const{id}req.params;res.sendid:${id};};app.post"/user",req,res{const{data}req.body;res.senddata:${data};};app.put"/user/:id",req,res{const{id}req.params;const{name}req.body;res.sendid:${id},data:${data};};app.delete"/user/:id",req,res{const{id}req.params;res.sendid:${id};};//設定404錯誤處理app.usereq,res{res.status404.send"404";};http.createServerapp.listen3000,{console.log"ServerOn.";};這個範例包含了:GET/user/:id:根據ID檢索項目。POST/user:新增項目。PUT/user/:id:更新項目。DELETE/user/:id:刪除項目。這些路由展示了不同的HTTP方法的使用,並使用了動態路由參數:id來處理特定ID的項目。我們可以根據應用程式的需求擴展這些路由。系列文章ahref"https://pardn.io/blog/nodejsinstall"target"self"Node.js.JavaScript的後端魔法/aahref"https://pardn.io/blog/nodejspromiseasync"target"self"Promise與Async/Await的非同步設計/aahref"https://pardn.io/blog/nodejshelloworld"target"self"建立第一個Node.js應用程式有多難?/a什麼?Express竟然如此的好用ahref"https://pardn.io/blog/nodejsmongodbmysql"target"self"前進資料庫!MongoDB與MySQL/aahref"https://pardn.io/blog/nodejsmiddleware"target"self"中介軟體Middleware與定制流程/aahref"https://pardn.io/blog/nodejspugejs"target"self"服務端渲染SSR的救星!Pug與EJS/aahref"https://pardn.io/blog/nodejsjwtxsscsp"target"self"實作JWT會員登入以及防範SQL注入與XSS攻擊/aahref"https://pardn.io/blog/nodejsrestfulapi"target"self"RESTfulAPI該怎麼設計?/aahref"https://pardn.io/blog/nodejsmochasupertest"target"self"Mocha?Supertest?單元與整合測試?/aahref"https://pardn.io/blog/nodejspm2"target"self"搭配Pm2讓Node.js持久化在線/a相關連結作者:PardnChiu]https://github.com/pardnchiuNode.js官方網站:https://nodejs.org/zhtw]https://nodejs.org/zhtw