Node.js中Express框架的使用教程詳解
經(jīng)過前面幾天對Node.js的學(xué)習(xí),基本的開發(fā)知識(shí)已經(jīng)逐漸掌握,所謂工欲善其事必先利其器,今天進(jìn)一步學(xué)習(xí)Node.js的開發(fā)框架Express。利用Express框架可以快速的進(jìn)行Web后端開發(fā),本文僅供學(xué)習(xí)分享使用,如有不足之處,還請指正。
Express簡介
Express是基于 Node.js 平臺(tái),快速、開放、極簡的 Web 開發(fā)框架,目前最新版本是4.17.2。Express 是一個(gè)保持最小規(guī)模的靈活的 Node.js Web 應(yīng)用程序開發(fā)框架,為 Web 和移動(dòng)應(yīng)用程序提供一組強(qiáng)大的功能。
具體可參考Express中文網(wǎng)。
Express生成器
1. 什么是Express生成器
通過應(yīng)用生成器工具 express-generator
可以快速創(chuàng)建一個(gè)基于Express的應(yīng)用程序的骨架。
2. 安裝Express生成器
全局安裝 express-generator
,可以通過在命令行工具執(zhí)行以下命令進(jìn)行:
cnpm i -g express-generator
安裝過程,如下所示:
注意:全局安裝npm的模塊目錄:C:\Users\Alan.hsiang\AppData\Roaming\npm 。
創(chuàng)建Express項(xiàng)目
Exress生成器安裝成功后,就可以通過命令創(chuàng)建Express項(xiàng)目,如下所示:
切換到項(xiàng)目所在目錄,通過以上命令,自動(dòng)創(chuàng)建一個(gè)Express項(xiàng)目:
express -e 項(xiàng)目名稱
創(chuàng)建過程,如下所示:
注意:如果已經(jīng)手動(dòng)創(chuàng)建項(xiàng)目目錄,則可以通過express -e 創(chuàng)建默認(rèn)項(xiàng)目。
創(chuàng)建成功后,在文件夾里面打開,默認(rèn)目錄結(jié)構(gòu)如下所示:
安裝項(xiàng)目依賴
在創(chuàng)建默認(rèn)項(xiàng)目后,還需要安裝依賴模塊,才可以運(yùn)行程序,如下所示:
cnpm i
安裝過程,如下所示:
依賴安裝成功后,即可在文件夾中查看,多出來一個(gè)目錄【node_modules】,如下所示:
運(yùn)行Express項(xiàng)目
在項(xiàng)目所在的命令行窗口,輸入以下命令,即可啟動(dòng)項(xiàng)目:
npm start
啟動(dòng)過程,如下所示:
在瀏覽器中輸入網(wǎng)址【http://localhost:3000/】,即可打開項(xiàng)目。具體如下所示:
以上就表示Express安裝創(chuàng)建成功。
Express目錄結(jié)構(gòu)說明
關(guān)于Exress生成器默認(rèn)創(chuàng)建的項(xiàng)目,目錄結(jié)構(gòu)如下所示:
創(chuàng)建一個(gè)新路由模塊
以創(chuàng)建一個(gè)新聞模塊為例,步驟如下所示:
1. 創(chuàng)建ejs模塊文件
在views目錄下,創(chuàng)建news目錄,然后創(chuàng)建list.ejs和detail.ejs,如下所示:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>新聞列表頁</title> </head> <body> <h3>新聞列表</h3> <ul> <li>第一條新聞</li> <li>第二條新聞</li> <li>第三條新聞</li> <li>第四條新聞</li> </ul> </body> </html>
新聞詳細(xì)頁:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>新聞詳細(xì)頁</title> </head> <body> <h3>新聞詳細(xì)頁</h3> </body> </html>
注意:本示例只是為了說明原理,所以都是簡單的html頁面代碼。
2. 創(chuàng)建路由文件
在routes目錄下,創(chuàng)建一個(gè)news.js文件,并添加代碼,做為news模塊的路由文件。如下所示:
var express = require('express'); var router = express.Router(); /* GET news listing. */ router.get('/list.html', function(req, res, next) { res.render('news/list',{}); }); router.get('/detail.html', function(req, res, next) { res.render('news/detail',{}); }); module.exports = router;
3. 在app.js中引入路由
在app.js中添加如下兩行代碼,即可引入新的路由,如下所示:
4. 運(yùn)行項(xiàng)目
在命令行中運(yùn)行項(xiàng)目,如下所示:
在瀏覽器中,輸入網(wǎng)址,如下所示:
以上,則表示express項(xiàng)目模塊成功運(yùn)行。
到此這篇關(guān)于Node.js中Express框架的使用教程詳解的文章就介紹到這了,更多相關(guān)Node.js Express框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- node.js中koa和express的差異對比
- Node.js中Express框架使用axios同步請求(async+await)實(shí)現(xiàn)方法
- node.js使用express-jwt報(bào)錯(cuò):expressJWT?is?not?a?function解決
- Node.js使用express寫接口的具體代碼
- Node.js?express中的身份認(rèn)證的實(shí)現(xiàn)
- 使用Express+Node.js對mysql進(jìn)行增改查操作?
- node.js三個(gè)步驟實(shí)現(xiàn)一個(gè)服務(wù)器及Express包使用
- node.js+express留言板功能實(shí)現(xiàn)示例
- node.js使用express-fileupload中間件實(shí)現(xiàn)文件上傳
- Node.js+express+socket實(shí)現(xiàn)在線實(shí)時(shí)多人聊天室
- Express框架實(shí)現(xiàn)簡單攔截器功能示例
相關(guān)文章
Nodejs實(shí)現(xiàn)短信驗(yàn)證碼功能
使用Nodejs的開發(fā)者愈來越多,基于Nodejs的后臺(tái)開發(fā)也多了起來,像短信驗(yàn)證碼、短信群發(fā)、國際短信這些需求,完全可以采用第三方接口來實(shí)現(xiàn),云片就提供了這樣的接口2017-02-02Linux環(huán)境部署node服務(wù)并啟動(dòng)詳細(xì)步驟
最近用node.js開發(fā)了一個(gè)web項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于Linux環(huán)境部署node服務(wù)并啟動(dòng)的詳細(xì)步驟,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05淺談Express.js解析Post數(shù)據(jù)類型的正確姿勢
這篇文章主要介紹了Express.js解析Post數(shù)據(jù)類型的正確姿勢,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05如何降低node版本,怎樣實(shí)現(xiàn)降低node版本
這篇文章主要介紹了如何降低node版本,怎樣降低node版本問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Nodejs關(guān)于gzip/deflate壓縮詳解
本文主要向大家介紹了nodejs中關(guān)于gzip/deflate壓縮的2種方法,分別是管道壓縮和非管道壓縮,十分詳細(xì),并附帶示例,這里推薦給大家參考下。2015-03-03Node.js調(diào)用fs.renameSync報(bào)錯(cuò)(Error: EXDEV, cross-device link not
這篇文章主要介紹了Node.js調(diào)用fs.renameSync報(bào)錯(cuò)(Error: EXDEV, cross-device link not permitted),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-12-12