当前位置: 首页 > news >正文

单站点网站广州印刷网站建设

单站点网站,广州印刷网站建设,黑马程序员论坛,兴趣电商平台有哪些文章目录安装配置koa2配置nodemon,热更新我们的项目中间件什么是中间件👻洋葱模型路由中间件连接数据库 - mysql后端允许跨域处理请求getpostputdelete后续会继续更新安装配置koa2 👻安装 koa2 npm i koa2 -s👻在package.json 配置,当然是在…

文章目录

  • 安装配置koa2
    • 配置nodemon,热更新我们的项目
  • 中间件
    • 什么是中间件
    • 👻洋葱模型
    • 路由中间件
  • 连接数据库 - mysql
  • 后端允许跨域
    • 处理请求
      • get
      • post
      • put
      • delete
  • 后续会继续更新

在这里插入图片描述

安装配置koa2

👻安装 koa2

npm i koa2 -s

👻在package.json 配置,当然是在npm init的基础之上

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

👻这样就可以 借用 npm run start 来启动

配置nodemon,热更新我们的项目

nodemon详解

npm i nodemon -s

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

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

中间件

什么是中间件

中间件的本质为一个回调函数,参数包含请求对象、响应对象和执行下一个中间件的函数
koa中间件采用的是洋葱模型、每次执行下一个中间件传入两个参数
ctx: 封装了request和response 的变量
next: 进入下一个要执行的中间件函数

👻洋葱模型

在这里插入图片描述
👻下面的示例代码可以说明这种情况

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)
})

👻结果如下
在这里插入图片描述

路由中间件

npm i koa-router	-s

👻我们直接给koa-router -s 做迁移(单独的文件夹存放),并对该模块进行切片
新建 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')
// 声明一个实例
const app = new koa()/*** router.routers()作用是启动路由* router.allowedMethods()允许所有请求方法111*/
app.use(router.routes(),router.allowedMethods())
app.listen(port, () => {console.log("localhost:"+`${port}`)
})

👻以上就完成了路由模块的基本内容

连接数据库 - mysql

👻首先准备好数据库
👻新建连接数据库的代码

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的版本过新的话会出现
Client does not support authentication protocol requested by server; consider upgrading MySQL cli
这是由于mysql版本过高,8版本的用户密码加密规则与以往的不同,可以参考下面的进行更改,加密规则
解决办法

👻我们可以选择连接池进行连接,并进行封装

const mysql = require('mysql')
// 连接池
const pool = mysql.createPool({connectionLimit: 10,host: 'localhost',user: 'root',password: 'root',database: 'property'
});/*** 查询操作数据库函数* @param sql sql语句* @param callback 回调函数*/
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)
})

👻详细内容
mysql包官方文档

后端允许跨域

npm i koa2-cors

👻这个中间件一定要写在路由之前

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

处理请求

我们暂时都是靠postman模拟发送请求

get

post

处理post请求,需要借助koa-body中间件,koa-body支持解析json,也支持文件解析
在这里安装一下

npm  i  koa-body

index.js 入口文件

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

put

delete

后续会继续更新

http://www.yayakq.cn/news/961398/

相关文章:

  • 网站网页能自己做吗东莞做网站做什么赚钱
  • 网站建设描述怎么写百度推广营销中心
  • 网站开发需要什么配置陇南市建设局官方网站
  • 做网站要学的技术wordpress pdf插件
  • 住房和城乡建设部网站政策发布连云港网站关键字优化
  • 手机上做网站php郑州网站建设e橙网熊掌号
  • 海东营销网站建设服务免费小程序制作网站
  • 做触屏网站建设工程施工合同 示范文本
  • 网站备案关闭影响排名四川手机响应式网站建设设计
  • 公司网站app怎么做免费网站后台模版
  • 新乡做网站多少钱深圳购物网站建设报价
  • 网站怎么做外联福建福清市住房和建设局网站
  • 网站数据库设置权限电商的网站怎么做的好
  • 如何提高网站在搜索引擎中的排名龙岩网站定制
  • 深圳 网站制作 哪家asp 企业网站源码
  • 半路学网站建设难吗注册域名的注意事项
  • 做汽车配件的都在那个网站做呀盐城代运营公司
  • 给网站做维护是什么工作当下网站建设
  • 品牌建设之道有哪些wordpress优化公司
  • 企业logo标志设计免费seo算法
  • 网站h标签江门网站平台建设
  • 做网络的网站很重要吗佛山网页网站设计多少钱
  • html 单页网站网络服务提供者是不是网络运营者
  • 广州网站建设 全包官网浏览器
  • 上海网站制作策划天天网站
  • 开发网站用什么语言免费生成短链接
  • 网站上的动态背景怎么做的易班班级网站建设展示PPT
  • 旅发集团网站建设方案wordpress 标签 取消
  • 互联网公司怎么找网站建设客户it培训机构口碑排名
  • 怎么免费网站电商代运营公司