Express框架
根據(jù)官方的介紹,Express是一個(gè)基于Node.js平臺(tái),快速、開(kāi)放、極簡(jiǎn)的Web開(kāi)發(fā)框架。
安裝
Express是一個(gè)基于Node.js的平臺(tái),所以在安裝Express之前,你得先確保你已經(jīng)安裝了Node.js。
打開(kāi)命令行,輸入node -v可查看是否有安裝node.js。

安裝Express
首先,為你的應(yīng)用創(chuàng)建一個(gè)目錄,然后進(jìn)入此目錄并將其作為當(dāng)前工作目錄。
E:\>mkdir myapp // 在E盤(pán)根目錄下創(chuàng)建一個(gè)名為myapp的目錄
E:\>cd myapp // 進(jìn)入myapp目錄

通過(guò)
npm init命令為你的應(yīng)用創(chuàng)建一個(gè)package.json文件,該命令要求你輸入幾個(gè)參數(shù),例如此應(yīng)用的名稱、版本號(hào)、描述、指定的入口文件,你可以直接按“回車”鍵接受大部分默認(rèn)設(shè)置即可。
E:\myapp>npm init

我們打開(kāi)生成的
package.json文件,可以看到該文件里面的內(nèi)容是一些項(xiàng)目的初始化信息。
接下來(lái)在
myapp目錄下安裝 Express并將其保存到依賴列表中。在命令行中輸入命令npm install express --save
E:\myapp>npm install express --save

注釋:
安裝Node模塊時(shí),如果指定了--save參數(shù),那么此模塊將會(huì)被添加到package.json文件的dependencies依賴列表中,然后通過(guò)npm install命令可以自動(dòng)安裝dependencies依賴列表中所有列出的模塊。
Express安裝完成之后,你會(huì)發(fā)現(xiàn),在我們創(chuàng)建的目錄myapp下面,多了一個(gè)node_modules的文件夾和package-lock.json文件,其中,node_modules文件夾中用于存放剛剛安裝的Express所有需要用到的源碼文件。

Express 應(yīng)用程序生成器
通過(guò)應(yīng)用生成器工具express-generator可以快速創(chuàng)建一個(gè)應(yīng)用的骨架。
express-generator 包含了 express 命令行工具。通過(guò)如下命令即可安裝:
E:\>myapp>npm install express-generator --save

安裝完成之后,我們打開(kāi)
package.json文件,可以看到在dependencies依賴列表中增加了express-generator。
開(kāi)始第一個(gè)Express項(xiàng)目
創(chuàng)建express項(xiàng)目
在E盤(pán)根目錄想創(chuàng)建一個(gè)project文件夾,進(jìn)入該文件夾,使用以下命令創(chuàng)建你的express項(xiàng)目。
E:\>mkdir project // 在E盤(pán)根目錄下創(chuàng)建一個(gè)project
E:\>cd project // 進(jìn)入到project文件夾
E:\project>express myFirstExpressDemo //在project文件夾下創(chuàng)建一個(gè)名為myFirstExpressDemo的Express項(xiàng)目
此時(shí),我們的第一個(gè)express項(xiàng)目就創(chuàng)建好了。

打開(kāi)創(chuàng)建的項(xiàng)目,使用命令
npm install安裝所有的依賴包。
E:\project>cd myFirstExpressDemo
E:\project>cd myFirstExpressDemo>npm install

我們使用
vscode編輯器打開(kāi)項(xiàng)目,看看各目錄代表什么意思。bin:用于啟動(dòng)應(yīng)用,可以在里面設(shè)置啟動(dòng)的端口號(hào)等,默認(rèn)端口號(hào)為
3000。public:靜態(tài)資源文件夾。
routes:路由文件。相當(dāng)于
mvc中的controller,默認(rèn)創(chuàng)建的express項(xiàng)目包括index.js和user.js。views:視圖文件。相當(dāng)于
mvc中的viewnode_modules:存放所有依賴包的源碼文件。
app.js:項(xiàng)目的入口文件。加載主要的依賴包,配置中間件,加載路由等等。
package.json:通過(guò)
npm init命令創(chuàng)建,主要用來(lái)定義這個(gè)項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息(比如名稱、版本、許可證等)。npm install命令根據(jù)這個(gè)配置文件,自動(dòng)下載所需的模塊,也就是配置項(xiàng)目所需的運(yùn)行和開(kāi)發(fā)環(huán)境。package-lock.json:在
npm install時(shí)候自動(dòng)生成,用以記錄當(dāng)前狀態(tài)下實(shí)際安裝的各個(gè)npm package的具體來(lái)源和版本號(hào)。
啟動(dòng)應(yīng)用
在MacOS或Linux操作系統(tǒng)中,通過(guò)如下命令啟動(dòng)此應(yīng)用:
$ DEBUG=myapp:* npm start
在Windows操作系統(tǒng)中,通過(guò)如下命令啟動(dòng)此應(yīng)用:
> set DEBUG=myapp:* & npm start 或者
> npm start
項(xiàng)目啟動(dòng)成功之后,我們?cè)跒g覽器地址欄中輸入http://localhost:3000即可訪問(wèn)。

Express連接數(shù)據(jù)庫(kù)
連接數(shù)據(jù)庫(kù)之前,需先安裝好MySQL和Navicat工具,具體怎么安裝,可以看我的另外一篇文章:
Mysql與Navicat安裝步驟圖解!
進(jìn)入創(chuàng)建好的Express項(xiàng)目,輸入命令npm install mysql --save-dev,安裝node.js的mysql模塊。
> npm install mysql --save-dev

在
routes文件夾里面新建一個(gè)database.js文件。
// database.js
// 連接Mysql
var mysql = require('mysql');
// 數(shù)據(jù)庫(kù)連接配置
var pool = mysql.createPool({
host: 'localhost', // 數(shù)據(jù)庫(kù)的地址
user: 'root', // 數(shù)據(jù)庫(kù)用戶名
password: '123456', // 數(shù)據(jù)庫(kù)密碼
database: 'express' // 數(shù)據(jù)庫(kù)名稱
})
// 對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查操作的基礎(chǔ)
function query(sql, callback) {
pool.getConnection((err, connection) => {
connection.query(sql, (err, rows) => {
callback(err, rows)
connection.release()
})
})
}
exports.query = query
在index.js文件中
// index.js
var express = require('express')
var router = express.Router()
// 引入數(shù)據(jù)庫(kù)配置文件
const db = require('./database')
// 獲取數(shù)據(jù)庫(kù)中的user表數(shù)據(jù)
router.get('/user', (err, res) => {
const sql = 'SELECT * FROM user';
db.query(sql, (err, result) => {
if(err){
return;
}
// res:API傳數(shù)據(jù)
// result:返回的數(shù)據(jù),需要轉(zhuǎn)成JSON格式
res.json(result);
});
})
module.exports = router;
數(shù)據(jù)庫(kù)中的user表數(shù)據(jù)

使用
Postman工具測(cè)試,返回的成功示例如下:
寫(xiě)的不好,還請(qǐng)各位大神多多指正!