express建立項目與vue差很少,二者都有腳手架。html
1.全局安裝Express及express-generator(express的腳手架)vue
命令:npm install -g express,npm install -g express-generator
2.初始化一個Express應用node
命令:express express-app
(其中
mysqlexpress-app爲項目名稱
)
初始化後的項目目錄結構:sql
目錄結構簡介:shell
app.js
應用的初始化文件,包括引入應用程序的基礎依賴項、設置視圖即view的引擎目錄以及模板、設置靜態資源路徑、配置通用的中間件、引入路由和一些錯誤處理中間件等。package.json
應用的配置文件,文件內包含程序的基礎信息、啓動腳本和依賴包等。bin/www
應用的啓動文件,文件內包含引用要啓動的應用、設置應用監聽的端口和啓動http服務等。public/**
應用的靜態資源文件目錄,該目錄下的文件資源不須要通過文件映射就能夠直接訪問。routes/**
應用的路由文件,這些路由文件中設置的接口最終會以指定的HTTP請求方式暴露給用戶,並在用戶請求以後將結果返回。views
應用的視圖文件,在app.js
中設置好視圖引擎和模板以後,該目錄即爲應用視圖的根目錄,而後路由文件就會根據app.js
中的設置加載並渲染該目錄下的視圖文件。
3.啓動應用數據庫
安裝應用的依賴包命令:npm installexpress
啓動程序命令:npm start 或 node bin/www
npm
啓動後,用瀏覽器訪問:localhost:3000(默認啓動端口爲3000),能夠看到以下頁面:json
1.首先新建一個js文件,用來封裝操做數據庫得函數
1 let mysql = require("mysql"); 2 let options = { 3 host:"localhost", 4 port:"3306", 5 user:"root", 6 password:"123", 7 database:"hmy" 8 } 9 // 建立數據庫鏈接 10 let con = mysql.createConnection(options) 11 12 // 創建鏈接 13 con.connect((err)=>{ 14 // 若是失敗的操做 15 if(err){ 16 console.log("鏈接數據庫失敗"); 17 }else{ 18 console.log("數據庫鏈接成功!") 19 } 20 }) 21 // 封裝查詢數據庫的內容,返回promise 22 function sqlQuery(strSql,arr){ 23 return new Promise((resolve,reject) => { 24 con.query(strSql,arr,(err,results) => { 25 if(err){ 26 reject(err); 27 }else{ 28 resolve(results) 29 } 30 }) 31 }) 32 } 33 // 導出函數 34 module.exports = sqlQuery;
2.在app.js中的代碼配置
let sqlQuery = require("./mysql/mysql"); let express = require("express") let options = { host:"localhost", port:"3306", user:"root", password:"123", database:"hmy" } let app = express() app.get('/',(req,res) => { // 返回數據庫前30條數據 let strSql = "select * from onepice limit 0,30"; let result = sqlQuery(strSql); console.log(result); res.send("首頁") }) app.get('/person/:id',(req,res) => { }) // 導出 module.exports = app;
把res.send換爲return res.jsonp(result);就能夠發送json數據
3.根據所查尋得內容返回後臺數據:
1 app.get('/person/:id',async(req,res) => { 2 let strSql = "select * from onepice where id = ? "; 3 let id = req.params.id; 4 // 把sql語句傳入,而且傳入佔位符的參數 5 let results = await sqlQuery(strSql ,[id]); 6 //查詢到的數據數組化,並返回json數據 7 res.json(Array.from(results)) 8 })