中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

建設(shè)網(wǎng)站需要多少錢近兩年成功的網(wǎng)絡(luò)營(yíng)銷案例

建設(shè)網(wǎng)站需要多少錢,近兩年成功的網(wǎng)絡(luò)營(yíng)銷案例,增城網(wǎng)站建設(shè),長(zhǎng)沙門戶網(wǎng)站建設(shè)文章目錄安裝配置koa2配置nodemon,熱更新我們的項(xiàng)目中間件什么是中間件👻洋蔥模型路由中間件連接數(shù)據(jù)庫(kù) - mysql后端允許跨域處理請(qǐng)求getpostputdelete后續(xù)會(huì)繼續(xù)更新安裝配置koa2 👻安裝 koa2 npm i koa2 -s👻在package.json 配置,當(dāng)然是在…

文章目錄

  • 安裝配置koa2
    • 配置nodemon,熱更新我們的項(xiàng)目
  • 中間件
    • 什么是中間件
    • 👻洋蔥模型
    • 路由中間件
  • 連接數(shù)據(jù)庫(kù) - mysql
  • 后端允許跨域
    • 處理請(qǐng)求
      • get
      • post
      • put
      • delete
  • 后續(xù)會(huì)繼續(xù)更新

在這里插入圖片描述

安裝配置koa2

👻安裝 koa2

npm i koa2 -s

👻在package.json 配置,當(dāng)然是在npm init的基礎(chǔ)之上

"scripts": {"start": "node index.js"...},

👻這樣就可以 借用 npm run start 來啟動(dòng)

配置nodemon,熱更新我們的項(xiàng)目

nodemon詳解

npm i nodemon -s

👻在package.json中配置 scripts/start 改為

"scripts": {"start": "nodemon index.js"...},

中間件

什么是中間件

中間件的本質(zhì)為一個(gè)回調(diào)函數(shù),參數(shù)包含請(qǐng)求對(duì)象、響應(yīng)對(duì)象和執(zhí)行下一個(gè)中間件的函數(shù)
koa中間件采用的是洋蔥模型、每次執(zhí)行下一個(gè)中間件傳入兩個(gè)參數(shù)
ctx: 封裝了request和response 的變量
next: 進(jìn)入下一個(gè)要執(zhí)行的中間件函數(shù)

👻洋蔥模型

在這里插入圖片描述
👻下面的示例代碼可以說明這種情況

app.use(async (ctx,next) => {console.log(1)await next()console.log(1)
})
app.use(async (ctx,next) => {console.log(2)await next()console.log(2)
})
app.use(async (ctx,next) => {console.log(3)await next()console.log(3)
})

👻結(jié)果如下
在這里插入圖片描述

路由中間件

npm i koa-router	-s

👻我們直接給koa-router -s 做遷移(單獨(dú)的文件夾存放),并對(duì)該模塊進(jìn)行切片
新建 Router/index.js

const Router = require('koa-router')
const router =  new Router()
const user = require('./user')
router.use('/user',user.routes(),user.allowedMethods())
// 重定向
router.redirect('/','/user')
module.exports = router

👻新建 Router/user.js

const Router = require("koa-router")
const user = new Router()
user.get('/add',(ctx)=>{ctx.body = "添加用戶"
})module.exports = user

👻原本的入口文件 index.js

const koa = require('koa2')
const router = require('./Router')
const { port } = require('./setting')
// 聲明一個(gè)實(shí)例
const app = new koa()/*** router.routers()作用是啟動(dòng)路由* router.allowedMethods()允許所有請(qǐng)求方法111*/
app.use(router.routes(),router.allowedMethods())
app.listen(port, () => {console.log("localhost:"+`${port}`)
})

👻以上就完成了路由模塊的基本內(nèi)容

連接數(shù)據(jù)庫(kù) - mysql

👻首先準(zhǔn)備好數(shù)據(jù)庫(kù)
👻新建連接數(shù)據(jù)庫(kù)的代碼

const mysql = require('mysql')const connection = mysql.createConnection({host     : 'localhost',user     : 'root',password : 'xxx',database : 'property'
});connection.connect()connection.query('select * from user',function(err,results,fileds){if(err)throw errconsole.log(results)
})
connection.end()

👻在這里mysql的版本過新的話會(huì)出現(xiàn)
Client does not support authentication protocol requested by server; consider upgrading MySQL cli
這是由于mysql版本過高,8版本的用戶密碼加密規(guī)則與以往的不同,可以參考下面的進(jìn)行更改,加密規(guī)則
解決辦法

👻我們可以選擇連接池進(jìn)行連接,并進(jìn)行封裝

const mysql = require('mysql')
// 連接池
const pool = mysql.createPool({connectionLimit: 10,host: 'localhost',user: 'root',password: 'root',database: 'property'
});/*** 查詢操作數(shù)據(jù)庫(kù)函數(shù)* @param sql sql語(yǔ)句* @param callback 回調(diào)函數(shù)*/
function query(sql, callback) {pool.getConnection((err, connection) => {if (err) throw errconnection.query(sql, (err, rows) => {callback(err, rows)connection.release()})})
}module.exports = query
const db = require('../utils/db')
db('select * from user',(err,rows)=>{if(err)throw errconsole.log(rows)
})

👻詳細(xì)內(nèi)容
mysql包官方文檔

后端允許跨域

npm i koa2-cors

👻這個(gè)中間件一定要寫在路由之前

app.use(cors());
app.use(router.routers(),router.allowMethods());

處理請(qǐng)求

我們暫時(shí)都是靠postman模擬發(fā)送請(qǐng)求

get

post

處理post請(qǐng)求,需要借助koa-body中間件,koa-body支持解析json,也支持文件解析
在這里安裝一下

npm  i  koa-body

index.js 入口文件

const {koaBody} = require('koa-body')
app.use(koaBody());

put

delete

后續(xù)會(huì)繼續(xù)更新

http://www.risenshineclean.com/news/9470.html

相關(guān)文章:

  • php網(wǎng)站和java網(wǎng)站google關(guān)鍵詞指數(shù)
  • 淄博網(wǎng)站制作百度seo排名優(yōu)化軟件
  • 什么網(wǎng)站能看到專業(yè)的做面包視頻黑帽seo是什么
  • 100%能上熱門的短視頻素材石家莊seo優(yōu)化
  • 哪個(gè)網(wǎng)站可以做空比特幣如何搭建個(gè)人網(wǎng)站
  • 優(yōu)秀企業(yè)網(wǎng)站案例百度合伙人答題兼職賺錢
  • 做外貿(mào)開店用哪個(gè)網(wǎng)站今日重大新聞
  • 深圳建站模板公司怎么推廣公司網(wǎng)站
  • 自己怎么做外貿(mào)網(wǎng)站平臺(tái)網(wǎng)站開發(fā)公司
  • 騰訊云網(wǎng)站備案流程圖二十條優(yōu)化
  • 在自己的網(wǎng)站上做查分系統(tǒng)網(wǎng)絡(luò)營(yíng)銷與直播電商專升本
  • 做網(wǎng)站充值微信必須是企業(yè)趣丁號(hào)友情鏈接
  • 口碑好的網(wǎng)站建設(shè)公司廣東清遠(yuǎn)今天疫情實(shí)時(shí)動(dòng)態(tài)防控
  • 開通獨(dú)立網(wǎng)站信息推廣服務(wù)
  • 男裝網(wǎng)站模板演示外貿(mào)網(wǎng)站制作
  • 怎么下載自己做的網(wǎng)站google網(wǎng)站推廣
  • 做英語(yǔ)網(wǎng)站百度一下你就知道 官網(wǎng)
  • 蘇寧網(wǎng)站開發(fā)人員工資seo關(guān)鍵詞快速獲得排名
  • 做軟裝素材從哪些網(wǎng)站找網(wǎng)站性能優(yōu)化
  • 愛奇藝網(wǎng)站建設(shè)費(fèi)中國(guó)十大企業(yè)培訓(xùn)機(jī)構(gòu)排名
  • 動(dòng)畫網(wǎng)站建設(shè)安徽百度推廣怎么做
  • 文化傳媒網(wǎng)站php源碼百度收錄快速提交
  • 建網(wǎng)站費(fèi)用明細(xì)seo診斷工具
  • 火車票網(wǎng)站建設(shè)多少錢微信公眾號(hào)推廣網(wǎng)站
  • 高埗鎮(zhèn)做網(wǎng)站百度關(guān)鍵詞收錄排名
  • 做公司網(wǎng)站有沒有必要信息發(fā)布推廣平臺(tái)
  • 網(wǎng)站建設(shè)佛山拓客科技公司怎樣聯(lián)系百度客服
  • 微信店鋪小程序開發(fā)教程關(guān)鍵詞優(yōu)化價(jià)格
  • 做網(wǎng)站設(shè)計(jì)軟件濟(jì)南seo網(wǎng)絡(luò)優(yōu)化公司
  • 東莞建筑公司排行榜windows優(yōu)化大師和360哪個(gè)好