最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

三分鐘教會(huì)你用nodejs操作mysql數(shù)據(jù)庫(kù)

 更新時(shí)間:2023年05月25日 10:19:30   作者:陳小谷谷  
MySQL數(shù)據(jù)庫(kù)作為最流行的開源數(shù)據(jù)庫(kù),基本上是每個(gè)web開發(fā)者必須要掌握的數(shù)據(jù)庫(kù)程序之一了,基本使用?node.js上,最受歡迎的mysql包就是mysql模塊,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)三分鐘教會(huì)你用nodejs操作mysql數(shù)據(jù)庫(kù),需要的朋友可以參考下

步驟一:--準(zhǔn)備工作--

建立(projiect)文件夾

打開當(dāng)前文件下的終端--輸入命令--創(chuàng)建包管理文件

npm i 
npm init -y 或 npm init  // 生成package.json源文件;如果項(xiàng)目文件夾命名有中文就用 npm init ,如果全英文就直接 
npm init -y
npm i mysql // 下載mysql
npm i express // 安裝express模塊

 創(chuàng)建好之后顯示如下:

 創(chuàng)建app.js文件

 步驟二:通過(guò)vs code打開app.js-----查

  • 導(dǎo)入mysql
  • 通過(guò)createPool方法將mysql數(shù)據(jù)庫(kù)連接到服務(wù)器,并聲明一個(gè)db變量
  • 通過(guò)db.query方法測(cè)試是否連接成功
  • 將數(shù)據(jù)返回給客戶端
    • 導(dǎo)入express
    • 創(chuàng)建服務(wù)器
    • 啟動(dòng)服務(wù)器
    • 注冊(cè)路由
      • 通過(guò)db.query(查詢數(shù)據(jù)庫(kù))來(lái)執(zhí)行sql語(yǔ)句
      • 如果執(zhí)行成功將數(shù)據(jù)響應(yīng)給客戶端

代碼如下:

// 導(dǎo)入mysql
const mysql = require('mysql')
// 導(dǎo)入express
const express = require('express')
// 創(chuàng)建服務(wù)器
const app = express()
// 通過(guò)createPool方法連接服務(wù)器
const db = mysql.createPool({
    host: '127.0.0.1', // 表示連接某個(gè)服務(wù)器上的mysql數(shù)據(jù)庫(kù)
    user: 'root', // 數(shù)據(jù)庫(kù)的用戶名 (默認(rèn)為root)
    password: 'root', // 數(shù)據(jù)庫(kù)的密碼 (默認(rèn)為root)
    database: 'web67',// 創(chuàng)建的本地?cái)?shù)據(jù)庫(kù)名稱
})
// 通過(guò)nodejs獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)  并返回給客戶端------------------ 
app.get('/user', (req, res) => {
    // 通過(guò)db.query方法來(lái)執(zhí)行mysql  測(cè)試是否連接成功
    // 查詢語(yǔ)句 data 得到的是一個(gè)數(shù)組,  增刪改得到的是受影響的行數(shù)
    db.query('select * from user', (err, data) => {
        if (err) return console.log(err.message); // 連接失敗
        if (data.length === 0) return console.log('數(shù)據(jù)為空'); // 數(shù)據(jù)長(zhǎng)度為0 則沒有獲取到數(shù)據(jù)
        // 否則獲取成功,將結(jié)果返回給客戶端res.send
        res.send({
            status: 0,
            msg: '數(shù)據(jù)獲取成功',
            data
        })
    })
})
 
// 啟動(dòng)服務(wù)器
app.listen(80, () => {
    console.log('running...');
})

代碼驗(yàn)證:

打開當(dāng)前文件下的終端--輸入命令 -- nodemon 文件名.js

 如果沒有安裝nodemon,也可以用node 文件名.js來(lái)運(yùn)行

 打開Postmon 發(fā)送get請(qǐng)求,輸入http://127.0.0.1/user來(lái)驗(yàn)證是否在客戶端成功打印了數(shù)據(jù),打印成功顯示如下頁(yè)面:

步驟三:給數(shù)據(jù)庫(kù)(user)添加用戶名和密碼-----增

  • 在app.js中創(chuàng)建對(duì)應(yīng)的路由
  • 通過(guò)req.body來(lái)獲取客戶端提交過(guò)來(lái)的數(shù)據(jù)
  • 配置中間件express.urlencoded解析表單以post方式提交過(guò)來(lái)的數(shù)據(jù)
  • 構(gòu)建sql語(yǔ)句
  • 執(zhí)行sql語(yǔ)句
  • 如果失敗就提示用戶 判斷err如果是一個(gè)對(duì)象 就執(zhí)行失敗
  • 如何知道數(shù)據(jù)已經(jīng)寫入到數(shù)據(jù)庫(kù)中?判斷受影響的行數(shù)(affectedRows)看其值是否為1 如果不是1就表示更新失敗 如果值等于1就表示更新成功
  • 向客戶端響應(yīng)數(shù)據(jù)

代碼如下:

 完整代碼(包含步驟二):

// 導(dǎo)入mysql
const mysql = require('mysql')
// 導(dǎo)入express
const express = require('express')
// 創(chuàng)建服務(wù)器
const app = express()
// 配置中間件
app.use(express.urlencoded({ extended: false }))
// 通過(guò)createPool方法連接服務(wù)器
const db = mysql.createPool({
    host: '127.0.0.1', // 表示連接某個(gè)服務(wù)器上的mysql數(shù)據(jù)庫(kù)
    user: 'root', // 數(shù)據(jù)庫(kù)的用戶名 (默認(rèn)為root)
    password: 'root', // 數(shù)據(jù)庫(kù)的密碼 (默認(rèn)為root)
    database: 'web67',// 創(chuàng)建的本地?cái)?shù)據(jù)庫(kù)名稱
})
// 通過(guò)nodejs獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)  并返回給客戶端------------------ 
app.get('/user', (req, res) => {
    // 通過(guò)db.query方法來(lái)執(zhí)行mysql  測(cè)試是否連接成功
    // 查詢語(yǔ)句 data 得到的是一個(gè)數(shù)組,  增刪改得到的是受影響的行數(shù)
    db.query('select * from user', (err, data) => {
        if (err) return console.log(err.message); // 連接失敗
        if (data.length === 0) return console.log('數(shù)據(jù)為空'); // 數(shù)據(jù)長(zhǎng)度為0 則沒有獲取到數(shù)據(jù)
        // 否則獲取成功,將結(jié)果返回給客戶端res.send
        res.send({
            status: 0,
            msg: '數(shù)據(jù)獲取成功',
            data
        })
    })
})
 
// 給user中添加用戶名和密碼
app.post('/addUser', (req, res) => {
    const data = req.body // 獲取數(shù)據(jù)(要配置中間件來(lái)解析數(shù)據(jù)  否則顯示undefind)
    const sql = 'insert into user set ?' // 構(gòu)建sql語(yǔ)句
    // 執(zhí)行sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message); // 判斷sql是否執(zhí)行失敗
        // 判斷數(shù)據(jù)是否插入成功 看affectedRows的值是否為1,不為1則寫入失敗
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)寫入失敗');  
        // 否則寫入成功 返回客戶端
        res.send({
            status: 0,
            msg: '數(shù)據(jù)寫入成功'
        })
    })
})
 
// 啟動(dòng)服務(wù)器
app.listen(80, () => {
    console.log('running...');
})

代碼驗(yàn)證:

打開當(dāng)前文件下的終端--輸入命令 -- nodemon 文件名.js

打開Postmon 發(fā)送post請(qǐng)求 ,輸入http://127.0.0.1/addUser來(lái)驗(yàn)證是否在客戶端成功打印了數(shù)據(jù),打印成功顯示如下頁(yè)面:

步驟四:根據(jù)id來(lái)更新用戶名-----改

  • 在app.js中創(chuàng)建對(duì)應(yīng)的路由
  • 通過(guò)req.body來(lái)獲取客戶端提交過(guò)來(lái)的數(shù)據(jù)
  • 配置中間件express.urlencoded解析表單以post方式提交過(guò)來(lái)的數(shù)據(jù)
  • 構(gòu)建sql語(yǔ)句
  • 執(zhí)行sql語(yǔ)句
  • 如果失敗就提示用戶 判斷err如果是一個(gè)對(duì)象 就執(zhí)行失敗
  • 如何知道數(shù)據(jù)已經(jīng)寫入到數(shù)據(jù)庫(kù)中?判斷受影響的行數(shù)(affectedRows)看其值是否為1 如果不是1就表示更新失敗 如果值等于1就表示更新成功
  • 向客戶端響應(yīng)數(shù)據(jù)

代碼如下:

完整代碼(包含步驟二、三):

// 導(dǎo)入mysql
const mysql = require('mysql')
// 導(dǎo)入express
const express = require('express')
// 創(chuàng)建服務(wù)器
const app = express()
// 配置中間件
app.use(express.urlencoded({ extended: false }))
// 通過(guò)createPool方法連接服務(wù)器
const db = mysql.createPool({
    host: '127.0.0.1', // 表示連接某個(gè)服務(wù)器上的mysql數(shù)據(jù)庫(kù)
    user: 'root', // 數(shù)據(jù)庫(kù)的用戶名 (默認(rèn)為root)
    password: 'root', // 數(shù)據(jù)庫(kù)的密碼 (默認(rèn)為root)
    database: 'web67',// 創(chuàng)建的本地?cái)?shù)據(jù)庫(kù)名稱
})
// 通過(guò)nodejs獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)  并返回給客戶端------------------ 
app.get('/user', (req, res) => {
    // 通過(guò)db.query方法來(lái)執(zhí)行mysql  測(cè)試是否連接成功
    // 查詢語(yǔ)句 data 得到的是一個(gè)數(shù)組,  增刪改得到的是受影響的行數(shù)
    db.query('select * from user', (err, data) => {
        if (err) return console.log(err.message); // 連接失敗
        if (data.length === 0) return console.log('數(shù)據(jù)為空'); // 數(shù)據(jù)長(zhǎng)度為0 則沒有獲取到數(shù)據(jù)
        // 否則獲取成功,將結(jié)果返回給客戶端res.send
        res.send({
            status: 0,
            msg: '數(shù)據(jù)獲取成功',
            data
        })
    })
})
 
// 給user中添加用戶名和密碼------------------
app.post('/addUser', (req, res) => {
    const data = req.body // 獲取數(shù)據(jù)(要配置中間件來(lái)解析數(shù)據(jù)  否則顯示undefind)
    const sql = 'insert into user set ?' // 構(gòu)建sql語(yǔ)句
    // 執(zhí)行sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message); // 判斷sql是否執(zhí)行失敗
        // 判斷數(shù)據(jù)是否插入成功 看affectedRows的值是否為1,不為1則寫入失敗
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)寫入失敗');
        // 否則寫入成功 返回客戶端
        res.send({
            status: 0,
            msg: '數(shù)據(jù)寫入成功'
        })
    })
})
 
// 根據(jù)id來(lái)更新用戶名------------------
app.post('/updateUser', (req, res) => {
    const data = req.body
    const sql = 'update user set ? where id = ?'
    db.query(sql, [data, data.id], (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)更新失敗');
        // 數(shù)據(jù)更新成功 返回客戶端結(jié)果
        res.send({
            status: 0,
            msg: '數(shù)據(jù)更新成功'
        })
    })
})
 
// 啟動(dòng)服務(wù)器
app.listen(80, () => {
    console.log('running...');
})

代碼驗(yàn)證:

打開當(dāng)前文件下的終端--輸入命令 -- nodemon 文件名.js

  打開Postmon 發(fā)送post請(qǐng)求 ,輸入http://127.0.0.1/updateUser來(lái)驗(yàn)證是否在客戶端成功打印了數(shù)據(jù),打印成功顯示如下頁(yè)面:

步驟五:根據(jù)id來(lái)刪除數(shù)據(jù)-----刪

  • 在app.js中創(chuàng)建對(duì)應(yīng)的路由
  • 通過(guò)req.params來(lái)獲取動(dòng)態(tài)參數(shù)
  • 構(gòu)建sql語(yǔ)句
  • 執(zhí)行sql語(yǔ)句
  • 如果失敗就提示用戶 判斷 err 如果是一個(gè)對(duì)象 則執(zhí)行失敗
  • 如何知道數(shù)據(jù)已經(jīng)刪除成功 判斷受影響的行數(shù)(affectedRows)看其值是否為1,如果不為1 則刪除失敗,為1 則刪除成功
  • 向客戶端響應(yīng)數(shù)據(jù)

代碼如下:

 完整代碼(包含步驟二、三、四):

// 導(dǎo)入mysql
const mysql = require('mysql')
// 導(dǎo)入express
const express = require('express')
// 創(chuàng)建服務(wù)器
const app = express()
// 配置中間件
app.use(express.urlencoded({ extended: false }))
// 通過(guò)createPool方法連接服務(wù)器
const db = mysql.createPool({
    host: '127.0.0.1', // 表示連接某個(gè)服務(wù)器上的mysql數(shù)據(jù)庫(kù)
    user: 'root', // 數(shù)據(jù)庫(kù)的用戶名 (默認(rèn)為root)
    password: 'root', // 數(shù)據(jù)庫(kù)的密碼 (默認(rèn)為root)
    database: 'web67',// 創(chuàng)建的本地?cái)?shù)據(jù)庫(kù)名稱
})
// 通過(guò)nodejs獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)  并返回給客戶端------------------ 
app.get('/user', (req, res) => {
    // 通過(guò)db.query方法來(lái)執(zhí)行mysql  測(cè)試是否連接成功
    // 查詢語(yǔ)句 data 得到的是一個(gè)數(shù)組,  增刪改得到的是受影響的行數(shù)
    db.query('select * from user', (err, data) => {
        if (err) return console.log(err.message); // 連接失敗
        if (data.length === 0) return console.log('數(shù)據(jù)為空'); // 數(shù)據(jù)長(zhǎng)度為0 則沒有獲取到數(shù)據(jù)
        // 否則獲取成功,將結(jié)果返回給客戶端res.send
        res.send({
            status: 0,
            msg: '數(shù)據(jù)獲取成功',
            data
        })
    })
})
 
// 給user中添加用戶名和密碼------------------
app.post('/addUser', (req, res) => {
    const data = req.body // 獲取數(shù)據(jù)(要配置中間件來(lái)解析數(shù)據(jù)  否則顯示undefind)
    const sql = 'insert into user set ?' // 構(gòu)建sql語(yǔ)句
    // 執(zhí)行sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message); // 判斷sql是否執(zhí)行失敗
        // 判斷數(shù)據(jù)是否插入成功 看affectedRows的值是否為1,不為1則寫入失敗
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)寫入失敗');
        // 否則寫入成功 返回客戶端
        res.send({
            status: 0,
            msg: '數(shù)據(jù)寫入成功'
        })
    })
})
 
// 根據(jù)id來(lái)更新用戶名------------------
app.post('/updateUser', (req, res) => {
    const data = req.body
    const sql = 'update user set ? where id = ?'
    db.query(sql, [data, data.id], (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)更新失敗');
        // 數(shù)據(jù)更新成功 返回客戶端結(jié)果
        res.send({
            status: 0,
            msg: '數(shù)據(jù)更新成功'
        })
    })
})
 
// 根據(jù)id來(lái)刪除數(shù)據(jù)---------------------
app.get('/deleteData/:id', (req, res) => {
    const data = req.params.id // 獲取動(dòng)態(tài)id參數(shù)
    const sql = 'delete from user where id = ?' // 構(gòu)建sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)刪除失敗');
        res.send({
            status: 0,
            msg: '數(shù)據(jù)刪除成功'
        })
    })
})
 
// 啟動(dòng)服務(wù)器
app.listen(80, () => {
    console.log('running...');
})

代碼驗(yàn)證:

打開當(dāng)前文件下的終端--輸入命令 -- nodemon 文件名.js

打開Postmon 發(fā)送post請(qǐng)求 ,輸入http://127.0.0.1/updateUser來(lái)驗(yàn)證是否在客戶端成功打印了數(shù)據(jù),打印成功顯示如下頁(yè)面:

步驟六:優(yōu)化刪除部分代碼-----模擬刪除

模擬刪除--假刪除:就是將數(shù)據(jù)的status狀態(tài)改為0,設(shè)置禁用;

目的:為防止數(shù)據(jù)完全刪除之后無(wú)法找回;

 代碼如下:

最終展示完整代碼(包含以上所有步驟):

// 導(dǎo)入mysql
const mysql = require('mysql')
// 導(dǎo)入express
const express = require('express')
// 創(chuàng)建服務(wù)器
const app = express()
// 配置中間件
app.use(express.urlencoded({ extended: false }))
// 通過(guò)createPool方法連接服務(wù)器
const db = mysql.createPool({
    host: '127.0.0.1', // 表示連接某個(gè)服務(wù)器上的mysql數(shù)據(jù)庫(kù)
    user: 'root', // 數(shù)據(jù)庫(kù)的用戶名 (默認(rèn)為root)
    password: 'root', // 數(shù)據(jù)庫(kù)的密碼 (默認(rèn)為root)
    database: 'web67',// 創(chuàng)建的本地?cái)?shù)據(jù)庫(kù)名稱
})
// 通過(guò)nodejs獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù)  并返回給客戶端------------------ 
app.get('/user', (req, res) => {
    // 通過(guò)db.query方法來(lái)執(zhí)行mysql  測(cè)試是否連接成功
    // 查詢語(yǔ)句 data 得到的是一個(gè)數(shù)組,  增刪改得到的是受影響的行數(shù)
    db.query('select * from user', (err, data) => {
        if (err) return console.log(err.message); // 連接失敗
        if (data.length === 0) return console.log('數(shù)據(jù)為空'); // 數(shù)據(jù)長(zhǎng)度為0 則沒有獲取到數(shù)據(jù)
        // 否則獲取成功,將結(jié)果返回給客戶端res.send
        res.send({
            status: 0,
            msg: '數(shù)據(jù)獲取成功',
            data
        })
    })
})
// 給user中添加用戶名和密碼------------------
app.post('/addUser', (req, res) => {
    const data = req.body // 獲取數(shù)據(jù)(要配置中間件來(lái)解析數(shù)據(jù)  否則顯示undefind)
    const sql = 'insert into user set ?' // 構(gòu)建sql語(yǔ)句
    // 執(zhí)行sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message); // 判斷sql是否執(zhí)行失敗
        // 判斷數(shù)據(jù)是否插入成功 看affectedRows的值是否為1,不為1則寫入失敗
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)寫入失敗');
        // 否則寫入成功 返回客戶端
        res.send({
            status: 0,
            msg: '數(shù)據(jù)寫入成功'
        })
    })
})
// 根據(jù)id來(lái)更新用戶名------------------
app.post('/updateUser', (req, res) => {
    const data = req.body
    const sql = 'update user set ? where id = ?'
    db.query(sql, [data, data.id], (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)更新失敗');
        // 數(shù)據(jù)更新成功 返回客戶端結(jié)果
        res.send({
            status: 0,
            msg: '數(shù)據(jù)更新成功'
        })
    })
})
// 根據(jù)id來(lái)刪除數(shù)據(jù)---------------------
app.get('/deleteData/:id', (req, res) => {
    const data = req.params.id // 獲取動(dòng)態(tài)id參數(shù)
    const sql = 'update user set status = 0 where id = ?' // 構(gòu)建sql語(yǔ)句
    db.query(sql, data, (err, data) => {
        if (err) return console.log(err.message);
        if (data.affectedRows !== 1) return console.log('數(shù)據(jù)刪除失敗');
        res.send({
            status: 0,
            msg: '數(shù)據(jù)刪除成功'
        })
    })
})
// 啟動(dòng)服務(wù)器
app.listen(80, () => {
    console.log('running...');
})

代碼驗(yàn)證:

打開當(dāng)前文件下的終端--輸入命令 -- nodemon 文件名.js

打開Postmon 發(fā)送post請(qǐng)求 ,輸入http://127.0.0.1/updateUser來(lái)驗(yàn)證是否在客戶端成功打印了數(shù)據(jù),打印成功顯示如下頁(yè)面:

總結(jié)

到此這篇關(guān)于用nodejs操作mysql數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)nodejs操作mysql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node運(yùn)行js獲得輸出的三種方式示例詳解

    node運(yùn)行js獲得輸出的三種方式示例詳解

    這篇文章主要介紹了node運(yùn)行js獲得輸出的三種方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • node npm yarn報(bào)錯(cuò)error:不是內(nèi)部或外部命令

    node npm yarn報(bào)錯(cuò)error:不是內(nèi)部或外部命令

    文章介紹了如何安裝和配置Node.js、npm和yarn,并解決無(wú)法正常使用的問(wèn)題,主要步驟包括:正確安裝環(huán)境變量、配置用戶變量和系統(tǒng)變量、設(shè)置全局安裝模塊和緩存目錄的環(huán)境變量,以及手動(dòng)配置yarn的環(huán)境變量
    2024-11-11
  • NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)詳解

    NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)詳解

    這篇文章主要給大家介紹了關(guān)于NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 深入理解Commonjs規(guī)范及Node模塊實(shí)現(xiàn)

    深入理解Commonjs規(guī)范及Node模塊實(shí)現(xiàn)

    本篇文章主要介紹了深入理解Commonjs規(guī)范及Node模塊實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋

    node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋

    這篇文章主要介紹了node.js利用socket.io實(shí)現(xiàn)多人在線匹配聯(lián)機(jī)五子棋的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • mac中利用NVM管理不同node版本的方法詳解

    mac中利用NVM管理不同node版本的方法詳解

    這篇文章主要給大家介紹了關(guān)于在mac中利用NVM管理不同node版本的相關(guān)資料,文中詳細(xì)介紹了nvm的安裝和卸載、nvm安裝node的方法,以及nvm如何管理node版本,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 如何從頭實(shí)現(xiàn)一個(gè)node.js的koa框架

    如何從頭實(shí)現(xiàn)一個(gè)node.js的koa框架

    這篇文章主要介紹了如何從頭實(shí)現(xiàn)一個(gè)node.js的koa框架,koa.js是最流行的node.js后端框架之一,有很多網(wǎng)站都使用koa進(jìn)行開發(fā),同時(shí)社區(qū)也涌現(xiàn)出了一大批基于koa封裝的企業(yè)級(jí)框架。,需要的朋友可以參考下
    2019-06-06
  • 淺談關(guān)于axios和session的一些事

    淺談關(guān)于axios和session的一些事

    這篇文章主要給大家介紹了關(guān)于axios和session的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看詳細(xì)的介紹吧。
    2017-07-07
  • 如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密

    如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密

    目前在web框架中最流行的身份驗(yàn)證是使用jsonwebtoken,簡(jiǎn)稱jwt.可以設(shè)置加密方式,過(guò)期時(shí)間,存放個(gè)人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進(jìn)行token加密的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • PM2自動(dòng)部署代碼步驟流程總結(jié)

    PM2自動(dòng)部署代碼步驟流程總結(jié)

    這篇文章主要介紹了PM2自動(dòng)部署代碼步驟流程總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

绍兴市| 安图县| 金平| 龙胜| 河北区| 鄂温| 萝北县| 铜陵市| 临安市| 西华县| 甘南县| 沙田区| 陆良县| 宣恩县| 平顶山市| 西峡县| 瑞安市| 威信县| 日土县| 盐津县| 扎赉特旗| 武功县| 阳朔县| 吕梁市| 崇明县| 积石山| 千阳县| 常宁市| 酒泉市| 横峰县| 昭苏县| 封丘县| 昭平县| 太仓市| 兰考县| 左权县| 岐山县| 西和县| 昂仁县| 抚松县| 浦江县|