什么是Express卫枝?
官網(wǎng)介紹:Express是基于Node.js平臺惩系,快速、開放防楷、極簡的Web開發(fā)框架牺丙。
個(gè)人理解:我們都知道node.js是后端版本的js語言實(shí)現(xiàn),自然Express更加注重的是后端的處理域帐,它的頁面是通過數(shù)據(jù)與模版渲染而成赘被,注重的是邏輯的交互。與其它常見的前端框架不同肖揣,像Vue民假、React等基本思想都是數(shù)據(jù)驅(qū)動視圖,我們不必去關(guān)注后臺是怎么實(shí)現(xiàn)的龙优,只注重?cái)?shù)據(jù)的操作羊异。而Express恰恰相反事秀。
寫一個(gè)hello word
安裝
安裝node.js后,在工作目錄下運(yùn)行一下命令
//通過 npm init 命令為你的應(yīng)用創(chuàng)建一個(gè) package.json 文件野舶。
npm init
//安裝Express
npm install express --save
hello word
創(chuàng)建一個(gè)app.js文件易迹,內(nèi)容如下
const express = require('express')
const app = express()
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
然后在在瀏覽器中打開http://localhost:3000/,就可以看到網(wǎng)頁了平道,就這么簡單睹欲。
Express application generator
Express提供給我們一個(gè)可以快速創(chuàng)建一個(gè)應(yīng)用的骨架的應(yīng)用生成器:express-generator。它可以幫助我們快速建立一個(gè)網(wǎng)站基本需要的所有文件一屋。
本地安裝
npm install express-generator
創(chuàng)建應(yīng)用
通過命令express -h 可以查看可用的命令參數(shù)窘疮,其中-f
強(qiáng)制在非空目錄下創(chuàng)建應(yīng)用,-v
表示view的模版引擎冀墨。
npx express . -f -e
//安裝依賴
npm install
表示在強(qiáng)制(-f)在當(dāng)前目錄(.)下創(chuàng)建 view=ejs( -e 模版引擎) 的應(yīng)用闸衫。根目錄下會生成下述文件:
基本運(yùn)行
運(yùn)行命令
DEBUG=sticky-note:* npm start
//或者直接
npm start
然后在瀏覽器中打開 http://localhost:3000/ 網(wǎng)址就可以看到這個(gè)應(yīng)用了。
我們在package.json文件中可以看到 npm start 是命令 node ./bin/www 的縮寫诽嘉,實(shí)際運(yùn)行了 bin/www 文件蔚出,打開 www 文件我們會發(fā)現(xiàn)會去運(yùn)行根目錄下的 app.js 文件。
在 app.js 文件中虫腋,重要的如下幾行代碼:
設(shè)置模版引擎與路由跳轉(zhuǎn)骄酗,當(dāng)頁面跳轉(zhuǎn)至不同的路由時(shí),運(yùn)行 router 下對應(yīng)的文件悦冀,獲取數(shù)據(jù)與 view 下的模版結(jié)合渲染頁面酥筝。看看router目錄下的index.js文件雏门,響應(yīng)的同時(shí),通過render函數(shù)對數(shù)據(jù)與模版的結(jié)合渲染頁面掸掏。
Express的MVC
我們仔細(xì)觀察目錄會發(fā)現(xiàn)茁影,express具有MVC的思想:
- routes控制路由的跳轉(zhuǎn),邏輯行為操作:C
- view是頁面的模版丧凤,視圖:V
- 應(yīng)該還有一個(gè)獲取數(shù)據(jù)的model
這樣看來募闲,結(jié)構(gòu)與思想上都具備 MVC 的思想。