日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

NodeJS+Express+mySQL服务端开发详解

發(fā)布時(shí)間:2023/12/15 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NodeJS+Express+mySQL服务端开发详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

NodeJS+Express+mySQL服務(wù)端開發(fā)詳解

  隨著NodeJS的發(fā)展,現(xiàn)在已經(jīng)被很多人熟知,NodeJS已經(jīng)成為了前端開發(fā)人員必備的技能。本文不會(huì)對(duì)NodeJS過多介紹 如果你感興趣可以訪問NodeJS?官網(wǎng),?維基百科

本文是利用NodeJS+Express開發(fā)一個(gè)服務(wù)器程序,Express 是一種保持最低程度規(guī)模的靈活 Node.js Web 應(yīng)用程序框架,為 Web 和移動(dòng)應(yīng)用程序提供一組強(qiáng)大的功能。

一 準(zhǔn)備工作

首先你需要安裝NodeJS環(huán)境 這里不再做介紹,
1.安裝Express

npm install express -g //全局安裝npm install express-generator -g //安裝全局變量

2.初始化項(xiàng)目

cd example //進(jìn)入項(xiàng)目文件夾 express project //創(chuàng)建express目錄,project是目錄名

3.執(zhí)行如下命令:

1.cd project //進(jìn)入項(xiàng)目根目錄 2.npm install //安裝依賴

最終目錄:

/bin:用來啟動(dòng)應(yīng)用(服務(wù)器)
/public: 存放靜態(tài)資源目錄
/routes:路由用于確定應(yīng)用程序如何響應(yīng)對(duì)特定端點(diǎn)的客戶機(jī)請(qǐng)求,包含一個(gè) URI(或路徑)和一個(gè)特定的 HTTP 請(qǐng)求方法(GET、POST 等)。每個(gè)路由可以具有一個(gè)或多個(gè)處理程序函數(shù),這些函數(shù)在路由匹配時(shí)執(zhí)行。
/views: 模板文件所在目錄 文件格式為.jade
目錄app.js程序main文件 這個(gè)是服務(wù)器啟動(dòng)的入口

二 啟動(dòng)服務(wù)器

npm start //啟動(dòng)服務(wù)器

啟動(dòng)完成后終端將輸出 node ./bin/www
在瀏覽器中訪問?http://localhost:3000/

?

三 基本使用

打開app.js 這里介紹下主要代碼:

var express = require('express');//加載express模塊 var path = require('path');//路徑模塊 var favicon = require('serve-favicon');//請(qǐng)求網(wǎng)頁的logo var logger = require('morgan');//在控制臺(tái)中,顯示req請(qǐng)求的信息 var cookieParser = require('cookie-parser');//這就是一個(gè)解析Cookie的工具。通過req.cookies可以取到傳過來的cookie,并把它們轉(zhuǎn)成對(duì)象。 var bodyParser = require('body-parser');//node.js 中間件,用于處理 JSON, Raw, Text 和 URL 編碼的數(shù)據(jù)。// 路由信息(接口地址),存放在routes的根目錄 var index = require('./routes/index'); var users = require('./routes/users'); var add = require('./routes/add'); var edit = require('./routes/edit'); var del = require('./routes/del'); var app = express();// 模板開始 app.set('views', path.join(__dirname, 'views'));//設(shè)置視圖根目錄 app.set('view engine', 'jade');//設(shè)置視圖格式(本人不太喜歡用jade,接下來會(huì)交大家使用html格式的文件)// 載入中間件 app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public')));//配置路由,('自定義路徑',上面設(shè)置的接口地址) app.use('/', index); app.use('/search', users);//查 app.use('/add', add);//增 app.use('/edit', edit);//改 app.use('/del', del);//刪// 錯(cuò)誤處理 app.use(function(req, res, next) {var err = new Error('Not Found');err.status = 404;next(err); });app.use(function(err, req, res, next) {// set locals, only providing error in developmentres.locals.message = err.message;res.locals.error = req.app.get('env') === 'development' ? err : {};// render the error pageres.status(err.status || 500);res.render('error'); });module.exports = app;

定義一個(gè)路由的基本格式為:

app.METHOD(PATH, HANDLER)

其中:
app 是 express 的實(shí)例。
METHOD是?HTTP 請(qǐng)求方法。
PATH 是服務(wù)器上的路徑。
HANDLER 是在路由匹配時(shí)執(zhí)行的函數(shù)。
以上的定義代表
在根路由 (/) 上(應(yīng)用程序的主頁)對(duì) GET 請(qǐng)求進(jìn)行響應(yīng):

以下是目錄結(jié)構(gòu)圖:

?

這個(gè)例子沒用jade,改用html。

先從路由講起:

打開index.js

var express = require('express'); var router = express.Router();//編寫執(zhí)行函數(shù) router.get('/', function(req, res, next) {//使用絕對(duì)定位打開views下面的html文件res.sendFile("/JJ-Note/nodeTest/example/example/views/" + "index.html" )});module.exports = router;

再次打開add.js

var express = require('express'); var router = express.Router();var URL = require('url'); //加載mysql模塊 var mysql = require('mysql'); //創(chuàng)建連接 var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', database : 'jj' }); //執(zhí)行創(chuàng)建連接 connection.connect(); //SQL語句 var sql = 'SELECT * FROM name'; var addSql = 'INSERT INTO name(id,name,sex) VALUES(?,?,?)';router.get('/', function(req, res, next) {//解析請(qǐng)求參數(shù)var params = URL.parse(req.url, true).query;var addSqlParams = [params.id, params.name, params.sex];//增connection.query(addSql,addSqlParams,function (err, result) {if(err){console.log('[INSERT ERROR] - ',err.message);return;} });//查connection.query(sql,function (err, result) {if(err){console.log('[SELECT ERROR] - ',err.message);return;}console.log(params.id);//把搜索值輸出res.send(result);}); });module.exports = router;

mysql這邊我就不做詳細(xì)講解了,不懂的可以去看相關(guān)教程;

表結(jié)構(gòu)如圖所示:

routes里的其他幾個(gè)js文件與add.js類似,分別代表著增、刪、改、查四個(gè)接口;

下面我們一起來啟動(dòng)一下服務(wù)器。

首先在控制臺(tái)啟動(dòng)服務(wù),瀏覽器地址欄輸入http://localhost:3000/

可以看到如下界面:

我們查詢一下數(shù)據(jù)看能不能出來:

我們?cè)僭黾右粭l數(shù)據(jù):

可以,接口實(shí)現(xiàn)的很順利,修改和刪除就不一一展示了,nodejs功能十分強(qiáng)大,有興趣的朋友可以關(guān)注我的個(gè)人公眾號(hào),大家一起探討技術(shù)。

總結(jié)

以上是生活随笔為你收集整理的NodeJS+Express+mySQL服务端开发详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。