koa2

koa2实现文件上传

旧街凉风 提交于 2019-12-10 15:33:11
安装包: npm install koa-body --save 引用: const koaBody = require('koa-body'); app.use(koaBody({ multipart: true, formidable: { maxFileSize: 200*1024*1024 // 设置上传文件大小最大限制,默认2M } })); 使用koa-body中间件后,即可通过ctx.request.files获取上传的文件 提醒: 新版本的koa-body通过ctx.request.files获取上传的文件 旧版本的koa-body通过ctx.request.body.files获取上传的文件 获取到文件之后,通过fs将文件保存到服务器的指定目录 上传文件: const router = require('koa-router')() const fs = require('fs') const path = require("path") router.prefix('/upload') router.post('/uploadfile', async (ctx, next) => { // 上传单个文件 const file = ctx.request.files.file; // 获取上传文件 // 创建可读流 const reader = fs

koa2 + react + node后台+热更新

▼魔方 西西 提交于 2019-12-09 21:57:21
技术栈 react+webpack 支持前台编写。node+mysql做后台维护 使用ts,包括了tsc,bable7,antd 使用mysql,koa-route 做路由 react+webpack配置 由于使用bable7 ,所以直接使用.babelrc 解析react、ts、es6高级语法 .babelrc相关配置如下,此文件位于项目根目录下。 //.babelrc { "presets": [ [ "@babel/preset-env", { "modules": false } ], ["@babel/preset-react"], ["@babel/preset-typescript"] ], "plugins": [ [ "import", { "libraryName": "antd" } ], [ "@babel/plugin-proposal-class-properties", { "loose": true } ], [ "@babel/plugin-proposal-decorators", { "legacy": true } ], "@babel/plugin-syntax-dynamic-import" ] } 同样需要配置tsconfig.json,此文件位于项目根目录下。内容如下 { "compilerOptions": { "outDir":

Node系列-koa2开发实践

强颜欢笑 提交于 2019-12-09 21:00:37
一、koa2说明 koa2中支持了很多新的特性,最重要的是对async await的支持 特别注意,koa1和koa2中的很多中间件写法都不一样了。 中间件对koa1和koa2的支持情况: https://github.com/koajs/koa/wiki 二、错误处理 1、能预想到的地方都加try{} catch{}语句 2、中间件处理 app.use(async (ctx, next) => { try { await next(); } catch (err) { // will only respond with JSON ctx.status = err.statusCode || err.status || 500; ctx.body = { message: err.message }; } }) 3、事件监听 const Koa = require('koa'); const app = new Koa(); // app.js中添加 app.on('error', (err, ctx)=>{ console.error('server error', err, ctx); }); 三、路由处理 1、下载依赖 npm install koa-router@next --save 2、koa-router官网(在分支中) https://github.com

Node.js-Koa2框架生态实战-从零模拟新浪微博 完整教程

夙愿已清 提交于 2019-12-08 23:39:32
本文配套学习资料获取地址: 点击这里 课程为纯实战项目,从零模拟开发一个基本功能完备的微博系统(包括注册、登录、关注和取关,微博浏览、创建和回复,及 @ 关注人等各个功能),带你完成整个Koa2框架生态的综合技术实战,包括各类中间件,MySQL数据库设计,微博项目架构等诸多干货内容,最后带你回顾整个开发过程,从技术层面总结 Node.js 的最佳实践经验 模拟新浪微博:Koa2框架生态实战,Node.js中间件串讲 项目展示截图: 项目架构图: 非常适合已掌握Node.js基础,但项目开发经验不足的同学,独一无二的“微博”项目供你练手 Node.js纯粹实战 不讲基础理论 上手就是实战 全程干货放送 Koa2 框架生态 Koa2/ ejs/ MysSQL sequelize /Redis / session /Jest /jwt Node.js中间件 第三方中间件 Node.js自有中间件 讲师开发的中间件 微博系统的技术方案设计 亮点功能开发 分层架构设计 Node.js线上环境 本文配套学习资料获取地址: 点击这里 来源: https://www.cnblogs.com/llcxy/p/12008667.html

Koa2 request.body is empty

雨燕双飞 提交于 2019-12-08 11:58:45
问题 I am working on a web service with koa2 and node6. My koa dependencies as follows; "koa": "^2.0.0-alpha.4", "koa-async-body": "^1.0.4", "koa-bodyparser": "^3.2.0", "koa-logger": "^1.3.0", "koa-router": "^7.0.1", My implementation is like this; const apiPrefix = 'api', apiParent = 'auth', api = 'register', router = new Router(); router.prefix(`/${apiPrefix}/${apiParent}/${api}`); router.post('/', async(context, next) => { try { console.log(context.request.body); context.body = await post

Koa2: how to write chain of middleware?

。_饼干妹妹 提交于 2019-12-06 07:28:53
So in express, we can have a chain of middleware, copies an example: middleware = function(req, res){ res.send('GET request to homepage'); }); app.get('/', middleware, function (req, res) { res.send('GET request to homepage'); }); What's the equivalent way to write this in koa2 please ? I'm thinking of using it for the route, for each route i want to have a middleware to check if user is already logged in. Thanks ! If you're simply interested in making sure a middlware runs for every route, all you have to do is register the middleware before you register your routing middelware. app.use

nodeJs koa-generator脚手架

本秂侑毒 提交于 2019-12-05 19:22:56
koa-generator 脚手架    全局安装: cnpm install -g koa-generator 查看版本:koa2 --version    创建项目: koa2 project 默认的是用jade模板引擎的       koa2 -e koa2-learn 使用的是ejs模板引擎,项目名称koa2-learn    初始化: cnpm install    运行: SET DEBUG=koa*     npm start localhost:3000    运行:方式二: 开发模式/修改后自启动 npm run dev 来源: https://www.cnblogs.com/LChenglong/p/11941446.html

koa2入门之使用koa-generator生成koa2项目

走远了吗. 提交于 2019-12-05 16:19:03
1、新建项目目录,我这边是在E盘的nodejs目录下面进行安装的,所以先在E盘创建nodejs目录 2、打开命令行窗口。安装koa-generator,安装命令为: npm install -g koa-generator 安装完成之后进入通过命令进入E盘的nodejs目录 3、使用koa-generator生成koa2项目,输入命令: koa2 test_koa 4、创建项目成功之后进入test_koa项目,然后进行安装koa2就可以了,命令: cd test_koa npm install 5、安装完成之后通过命令: npm start 启动项目,接着浏览器打开 http://localhost:3000/ 就能看到页面了。 来源: CSDN 作者: 安树 链接: https://blog.csdn.net/ansu2009/article/details/53884287

Koa2 权限认证中间件-----Passport

不羁岁月 提交于 2019-12-05 16:18:47
Koa集成权限认证中间件之Passport 前言 你还在为koa2的权限管理问题烦恼吗?那么这篇文章你解决的忧愁!!! 对于express框架的权限框架passport大家可能不陌生,但是koa2的权限管理中间件缺很少, 尤其是最2.0版本以上Koa,其生态目前完全出于一个起步阶段,对比目前express大量稳定可用的中间件,的确是有许多的不足。但是开源的力量永远是最强大的,只要有需求,就一定有解决方案,这时就诞生了 koa-passport 思路 1、对于passport中间件的官方只是提供了对express的支持。但是相对应的,koa也有其对应的开源集成版本——【 koa-passport 】 2、 koa-passport本质上并非全新实现的另外一个版本的passport,它仅仅只是作为中间件,将原先passport对express的支持,转移到了koa上。 通过分析其源码可以看出,它其实是将原先绑定在express的req和res中的API方法,重新绑定到了koa的ctx中 3、让人吐槽的地方是koa-passport的官方文档很详细的使用方法和说明, 直接使用官方提供的demo :koa-passport-example项目,如果不加以修改,是无法完成认证功能的, 虽然是google和baidu了大量资料,但是很遗憾,目前似乎并没有太多关于这两者的集成文章

How to run simple app with koa2?

雨燕双飞 提交于 2019-12-04 04:53:32
问题 Problem I am trying to run simple http server using koa2, but have problems running it. It uses es6 that is expected to work in future node.js versions and I was wondering how can I run it with node v6.1.0 ? Code import Koa from 'koa'; const app = new Koa(); // Setup handler. app.use(async ctx => { ctx.body = "Hello World!"; }); // Start server. app.listen(3000); Output $ node --version v6.1.0 $ node --harmony index.js C:\Users\gevor\WebstormProjects\untitled1\index.js:1 (function (exports,