首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    深入koa2源码

    本文将以koa2为例,深入源码分析框架的实现细节。 koa2的源码位于lib目录,结构非常简单和清晰,只有四个文件,如下: 根据package.json中的main字段,可以知道入口文件是lib/application.js,application.js 由于koa最开始支持使用generator函数作为中间件使用,但将在3.x的版本中放弃这项支持,因此koa2中对于使用generator函数作为中间件的行为给与未来将被废弃的警告,但会将generator

    72130发布于 2021-06-22
  • 来自专栏九旬大爷

    # koa2使用cookie

    # koa2使用cookie # 使用方法 koa提供了从上下文直接读取、写入cookie的方法 ctx.cookies.get(name, [options]) 读取上下文请求中的cookie ctx.cookies.set (name, value, [options]) 在上下文中写入cookie koa2 中操作的cookies是使用了npm的cookies模块,源码在https://github.com/pillarjs 实现session # 前言 koa2原生功能只提供了cookie的操作,但是没有提供session操作。 在koa2中实现session的方案有一下几种 如果session数据量很小,可以直接存在内存中 如果session数据量很大,则需要存储介质存放session数据 # 数据库存储方案 将session 存放在MySQL数据库中 需要用到中间件 koa-session-minimal 适用于koa2 的session中间件,提供存储介质的读写接口 。

    40920编辑于 2023-10-19
  • 来自专栏404

    Koa2搭建WebSocket

    安装 mkdir ws cd ws npm i koa npm i ws 服务端 // index.js const Koa = require('koa'); const WebSocket = require('ws'); const app = new Koa(); const ws = new WebSocket.Server({ port: 3001 }); ws.on('connection', ws => { console.log('server connection');

    1.2K10编辑于 2022-04-25
  • 来自专栏向治洪

    Koa2开发入门

    Koa2入门 创建Koa2 首先,我们创建一个名为koa2的工程目录,然后使用VS Code打开。 然后,我们创建app.js,输入以下代码: // 导入koa,和koa 1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示: const Koa = require('koa' next) => { await next(); ctx.response.type = 'text/html'; ctx.response.body = '

    Hello, koa2 // 导入koa,和koa 1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示: const Koa = require('koa'); // 创建一个Koa对象表示web 参考: Koa2框架利用CORS完成跨域ajax请求 Koa-基于Node.js的下一代Web开发框架

    1.1K50编辑于 2022-11-30
  • 来自专栏前端小叙

    koa2入门学习

    koa模块 koa-route 路由 route.get("路径",路由函数) koa-static 静态资源加载     const serve(路径) koa-compose  中间件合成模块 koa-body   提取表单post请求键值对,处理上传文件 上下文context的response和request ctx.response.body   //返回的主体内容 ctx.response.redirect //重定向 ctx.response.type   //返回的MIME类型 ctx.re

    79380发布于 2018-04-12
  • 来自专栏404

    koa2使用jwt鉴权

    至此已经实现了基础鉴权,但是由于这里使用了restful api,获取资源的操作与修改、删除操作使用的是相同的路径,而koa-unless只支持单一的url匹配或者method匹配,两者无法混用,于是需要改写koa-unless:

    60020编辑于 2022-04-25
  • 来自专栏web全栈

    Nuxt.js + koa2 入门

    : res.data.list }; } } }; </script> 效果如下 总结 最近学了很多新东西,但是都只停留在会简单安装,简单使用的阶段,对于这些刚学的内容(koa2

    2.3K10编辑于 2022-09-24
  • 来自专栏web share

    Koa2与Express对比

    区别 体积:Koa2不涉及路由以及其他中间件的捆绑,体积比Express小; 写法:Koa2使用 async函数 ,Express使用 Promise回调 ,因此Koa2可以避免回调,而且可以使用try catch更方便地去处理错误异常; 中间件机制: Koa2使用 洋葱圈模式 ,其核心实现思想是使用函数调用栈,先调用的后执行,直到里层函数一层一层由里向外执行完 Express核心思想是使用任务队列 console.error(e); }).then(() => { /** 其他动作 */ }) .then(() => { //... }) }); 使用Koa2 catch (e) { console.error(e); } }) 可以看出: 对于结果获取:Express通过Promise的resolve的回调,获取resolve得到的结果;而Koa2 对于错误捕捉:Express对于每个callback都要做错误捕捉,然后一层一层向外传递;而Koa2可以使用一个try catch就可以实现所有错误的捕捉。

    1.7K30发布于 2020-12-17
  • 来自专栏Java

    Koa2 如何处理路由?

    Koa2 如何处理路由? 在Koa2中,可以使用koa-router模块来处理路由。下面是一个示例代码,展示了如何在Koa2中处理路由。 首先,需要安装koa-router模块。 通过以上步骤,就可以在Koa2中处理路由了。可以根据实际需求,定义不同的路由和处理逻辑。

    30910编辑于 2025-01-21
  • 来自专栏前端进阶-詹躲躲

    Koa2进阶:CMS系统实战开发秘籍:1.为什么选择Koa2?

    Koa2简介 本次的专栏是基于koa2作为服务端开发语言,由此我们简单介绍下koa2的相关内容。了解下什么是koa2。以及它的优势是什么。 Koa2框架是基于Node.js的一个下一代Web开发框架。 更好的性能:由于 Koa2 的中间件机制更加高效,性能可能会比 Express 更好。 总的来说,Koa2 更加现代化、灵活和轻量级,适合对代码质量和可维护性有较高要求的项目。 koa2脚手架 也可以使用koa2脚手架,一步到位。直接生成项目和服务的结构。开发效率更高,速度更快。 本次主要简单介绍koa2的优势及简单使用。

    41910编辑于 2024-07-30
  • 来自专栏前端心念

    koa2实现网站csrf防御

    config.xsrfHeaderName = "X-CSRF-TOKEN"; 8 config.xsrfCookieName = "csrf_token"; 9 10 return config; 11}); 后端(koa2

    1.4K20编辑于 2023-01-11
  • 来自专栏404

    Koa2 使用 JWT 进行鉴权

    既然服务器端使用 Koa2 框架进行开发,除了要使用到 jsonwebtoken 库之外,还要使用一个 koa-jwt 中间件,该中间件针对 Koa 对 jsonwebtoken 进行了封装,使用起来更加方便

    44110编辑于 2023-11-17
  • 来自专栏Java

    Koa2 的优缺点是什么?

    Koa2 的优缺点是什么? Koa2 是一个基于 Node.js 的轻量级 Web 框架,它具有以下优点和缺点: 优点: 轻量级:Koa2 是一个精简的框架,它只提供了基本的功能,没有过多的封装和约束,使得开发者可以更加灵活地构建应用程序 中间件机制:Koa2 的核心思想是中间件,它允许开发者通过洋葱模型的方式来组织和处理请求,使得代码的可读性和可维护性更高。 扩展性:Koa2 提供了丰富的插件和中间件,可以方便地扩展功能,满足不同项目的需求。 生态系统相对较小:相比于其他成熟的框架,Koa2 的生态系统相对较小,插件和中间件的数量和质量可能不如其他框架丰富。

    27500编辑于 2025-01-21
  • 来自专栏前端小叙

    koa2使用注意点总结

    get请求,ajax传入参数 获取的时候为ctx.request.query.参数名

    95420发布于 2018-07-24
  • 来自专栏九旬大爷

    # koa2 原生路由实现

    # koa2 原生路由实现 # 简单例子 const Koa = require('koa') const app = new Koa() app.use( async ( ctx ) => { else { resolve( data ) } }) }) } /** * 根据URL获取HTML内容 * @param {string} url koa2

    33020编辑于 2023-10-19
  • 来自专栏404

    koa2 + mongoose + graphql 构建后端服务

    Koa2:https://koa.bootcss.com/ Apollo:https://www.apollographql.com/ Mongoose:https://mongoosejs.com/ 之前使用koa2 + mongoose构建了一套restful api,现在改用graphql。

    35220编辑于 2022-04-25
  • 来自专栏薛定喵君

    koa2实现静态资源服务器

    访问public下的图片资源 localhost:3001/[图片名称].jpg

    1.5K20发布于 2020-06-16
  • 来自专栏Java

    Koa2 的核心特点是什么?

    Koa2 的核心特点是什么? Koa2是一个基于Node.js的Web框架,它的核心特点包括: 异步流程控制:Koa2使用了基于Promise的中间件机制,可以方便地实现异步流程控制。 轻量灵活:Koa2的核心代码非常简洁,只提供了基本的功能,如路由、中间件和请求处理等。这使得开发者可以根据自己的需求灵活地扩展和定制框架。 中间件机制:Koa2采用了洋葱模型的中间件机制,允许开发者按照顺序添加中间件,并通过next()方法控制流程的传递。这种机制使得中间件的编写和组合更加灵活和可控。 错误处理:Koa2提供了统一的错误处理机制,通过try-catch捕获错误并交给统一的错误处理中间件进行处理。这样可以有效地避免代码中出现大量的try-catch块,提高了代码的可读性和维护性。 这个示例展示了Koa2的基本用法,包括中间件的添加和使用,以及错误处理的机制。通过这些特点,Koa2提供了一个简洁、灵活和可扩展的Web开发框架。

    28810编辑于 2025-01-21
  • 来自专栏Java

    Koa2 如何处理异步操作?

    Koa2 如何处理异步操作? 在Koa2中,可以使用async/await来处理异步操作。 下面是一个使用Koa2处理异步操作的示例: const Koa = require('koa'); const app = new Koa(); // 异步函数 const fetchData = async 然后,在Koa2的中间件中使用await关键字来等待异步操作的完成。当异步操作完成后,将数据赋值给ctx.body,并调用next()继续处理下一个中间件。 在Koa2中,中间件函数默认是异步函数,所以我们可以直接在中间件函数中使用await关键字。 使用async/await处理异步操作可以大大简化代码,并且使得代码更易于理解和维护。

    23700编辑于 2025-01-21
  • 来自专栏404

    koa2 + apollo-server-koa + mongoose 接口

    koa2 + apollo-server-koa + mongoose 接口 yarn add koa koa-router koa-body apollo-server-koa@rc app.js

    50140编辑于 2022-04-25
领券