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

网站更新提示ui怎末做网站及其建设的心得

网站更新提示ui怎末做,网站及其建设的心得,做自己的网站能赚钱吗,泰国云服务器文章目录 1. koa中间件简介2. 中间件类型1. 应用级中间件2. 路由级中间件3. 错误处理中间件4. 第三方中间件 3.中间件执行流程 1. koa中间件简介 在Koa中#xff0c;中间件呈现为一个异步函数#xff0c;该函数支持 async/await 语法#xff0c;它接收两个参数#xff1a;… 文章目录 1. koa中间件简介2. 中间件类型1. 应用级中间件2. 路由级中间件3. 错误处理中间件4. 第三方中间件 3.中间件执行流程 1. koa中间件简介 在Koa中中间件呈现为一个异步函数该函数支持 async/await 语法它接收两个参数 ctx 和 next 。 ctx 是对当前HTTP请求的封装而 next 是一个函数当被调用时执行流程会进入下一个中间件。中间件的工作被 next() 分为前后两部分next() 返回一个 Promise 对象。 中间件的作用十分广泛包括但不限于身份验证、日志记录、请求处理等。它为开发人员提供了一种灵活的方式来处理请求并能够增加额外的逻辑层而不必修改核心应用逻辑。 Koa的洋葱模型是一种独特的中间件执行机制它以next()函数为分割点先由外到内执行请求Request的逻辑然后再由内到外执行响应Response的逻辑。这种模型确保了中间件的执行顺序使得依赖其他中间件结果的中间件能够正确工作。 2. 中间件类型 1. 应用级中间件 应用级中间件绑定到 Koa 应用程序对象上并在每个请求处理周期中执行。 应用级中间件通常用于执行跨路由的共享任务比如日志记录、错误处理、身份验证等。 应用级中间件匹配任何路由。 var router new Router(); // 总路由 // 如果get,post回调函数中没有next参数这个路由被匹配到了就不会继续向下匹配 app.use(async (ctx, next){console.log(应用级中间件)next() }) router.get(/abcd, async (ctx) {ctx.body 应用级中间件 });// 使用路由中间件 app.use(router.routes()).use(router.allowedMethods());app.listen(8081, function() {console.log(服务启动端口号8081) });2. 路由级中间件 路由级中间件与特定路由相关联只在特定路由匹配时执行。 路由级中间件用于在特定路由上执行特定任务比如请求验证、权限控制等。 const Koa require(koa); const app new Koa(); var Router require(koa-router); var router new Router(); // 总路由app.use(async (ctx, next){console.log(应用级中间件)next() }) router.get(/abcd, async(ctx, next){console.log(路由级中间件)next() }) router.get(/abcd, async (ctx) {ctx.body 路由级中间件 });// 使用路由中间件 app.use(router.routes()).use(router.allowedMethods());app.listen(8081, function() {console.log(服务启动端口号8081) });3. 错误处理中间件 错误处理中间件用于捕获应用程序中发生的错误并作出相应的处理。 在 Koa 中错误处理中间件通常是最后一个中间件用来处理未捕获的错误并发送适当的响应给客户端。 const Koa require(koa); const app new Koa(); var Router require(koa-router); var router new Router(); // 总路由app.use(async (ctx, next){console.log(应用级中间件)next()if(ctx.status 404) {ctx.status 404ctx.body 404 页面} else{ctx.body ctx.url} }) router.get(/abcd, async (ctx) {ctx.body 路由级中间件 });// 使用路由中间件 app.use(router.routes()).use(router.allowedMethods());app.listen(8081, function() {console.log(服务启动端口号8081) });4. 第三方中间件 中间件说明koa-router提供全面的路由功能比如类似Express的app.get/post/put的写法URL命名参数、路由命名、嵌套路由、支持加载多个中间件koa-bodyparserpost提交数据中间件解析请求体时需要加载的中间件支持x-www-form-urlencoded, application/json等格式的请求体不支持form-data的请求体koa-views对进行视图模板渲染支持ejs, nunjucks等模板引擎koa-static静态资源中间件用作类似Nginx的静态文件服务在本地开发时可用于加载前端文件或后端Fake数据koa-sessionsession验证支持将会话信息存储在本地Cookie或Redis, MongoDBkoa-jwttoken验证路由权限控制功能Session Base转为用Token Basekoa-helmet网络安全增加Strict-Transport-Security, X-Frame-Options, X-Frame-Options等HTTP头提高应用程序的安全性koa-compress当响应体较大时启用类似Gzip的压缩技术减少传输内容koa-logger输出请求日志的功能包括请求的url、状态码、响应时间、响应体大小等信息koa-convert基于Promise的中间件和基于Generate的中间件相互转换koa-nunjucks-2轻量级 Nunjucks 中间件可以用作模板引擎为koa应用提供页面渲染功能koa-favicon页面logo加载koa-jsonget提交数据的中间件koa-onerror在服务器产生错误throw 抛出等后自动重定义到指定路径koa-respond在Koa上下文中添加了常用的方法 koa-static api 文档 static(root, [opts]) root: 静态文件的根目录。 opts: maxage: 缓存控制指定浏览器缓存的最大时间毫秒。hidden: 是否允许访问隐藏文件默认为false。index: 默认索引文件名默认为’index.html’。defer: 是否延迟发送直至其他中间件执行完毕。gzip: 自动使用GZIP压缩文件默认启用。brotli: 使用Brotli压缩默认也启用。setHeaders**: 自定义响应头设置的函数。extensions: 无扩展名请求时尝试匹配数组中的扩展名来查找文件。 import path from path; const Koa require(koa); const app new Koa(); const staticKoa require(koa-static) const __dirname path.resolve(); app.use(staticKoa(__dirname /uploads)) // 使用koa-static中间件提供静态文件服务 // 或用 app.use(serve(path.join(__dirname, public))); app.listen(8081, function() {console.log(服务启动端口号8081) });3.中间件执行流程 1.先应用级再路由级。 2.同级别的中间件代码顺序会影响执行顺序。 3.不同级别代码顺序无影响都是先执行应用级再路由级 const Koa require(koa) const app new Koa() const Router require(koa-router) var router new Router(); // 总路由 app.use(async (ctx, next) {console.log(1);await next();console.log(2); })router.get(/abcd, async (ctx, next) {console.log(abcd11);await next();console.log(abcd22); })router.get(/abcd, async (ctx) {console.log(abcd);ctx.body abcd页; }) app.use(async (ctx, next) {console.log(3);await next();console.log(4); }) app.use(router.routes()).use(router.allowedMethods());app.listen(8081, function() {console.log(服务启动端口号8081) });
http://www.pierceye.com/news/170131/

相关文章:

  • 北京驾校网站建设网络哪里能接活做网站
  • 建设网站公司排名西宁网站建设优化案例
  • 外贸网站推广有用吗网络服务投诉平台
  • 网站制作价上传下载网站模板
  • 注册网站会员 我们的信息淘宝上可以做网站吗
  • 建筑材料价格查询网站做网站从哪方面入门
  • 百度百科网站怎么做360优化大师app下载
  • 那些网站用不着做优化个人网站设计案例
  • wordpress怎么釆集文章杭州seo百度关键词排名推广
  • 网站地址解析做好系部宣传和网站建设
  • 单页网站建设做淘宝优惠网站步骤
  • apache建立多个网站仿卢松松博客网站源码
  • 婚恋网站上海网络推广需要多少钱
  • 网站建设规划方案ppt模板wap浏览器安卓版
  • 网站关键词优化教程成都展厅设计公司
  • 百度网站排名软件怎么做网站竞价
  • 设计素材网站校园二手市场网站建设
  • 电子产品网站设计asp做微网站
  • 网站内部优化建设温州 网站制作
  • 怎么自己做网站地图网站涉及敏感视频等该怎么做
  • 个人网站建设主要功能南京自助建站网站
  • 替别人做设计的网站商业空间
  • 做网站很赚钱吗郴州网站定制
  • 霞浦建站公司建设通是个什么网站
  • 帮企业建网站网络广告有哪些
  • 网站的访问量怎么查知名电子商务网站
  • 鸣蝉小程序制作平台南通seo排名公司
  • 建设网站都要学些什么网站开发承包合同
  • 网站搭建好了怎么上到服务器好看wordpress主题
  • 免费自己制作网站教程网站文字格式