koa-router

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项目实战-用node-koa2-mysql-bootstrap搭建一个前端论坛

醉酒当歌 提交于 2019-12-05 16:29:00
前言 在学习了koa2和express并写了一些demo后,打算自己写一个项目练练手,由于是在校生,没什么好的项目做,即以开发一个前端论坛为目标,功能需求参照一下一些社区拟定,主要有: 登录注册 个人信息维护、头像等基本信息 发表文章,富文本编辑器采用wangEditor插件,编辑、删除文章,文章分类等 文章评论、文章收藏、点赞等 支持文章分页、评论分页加载 关注取关用户 资源(文件)上传分享、下载、查看 学习资源推荐..... 作者个人日记 but。。。。由于种种原因,目前仅实现了部分功能,资源分享还没写 项目运行效果: http://120.77.211.212/home 项目技术栈应用:node-koa2-ejs-bootstrap3—jquery, github地址: https://github.com/Jay214/myb... ,如果觉得对你有帮助或者还看得下去,欢迎star~~鼓励鼓励我这前端渣渣辉。 开发环境 node: v8.3.0 koa: ^2.4.1 mysql: 5.7.1 npm: 5.3.0及以上 如何运行项目 将项目clone至本地 git clone git@github.com:Jay214/myblog-koa2.git 安装模块中间件 npm install 安装mysql mysql版本推荐使用5.7以下的,5.7的有个bug

koa mogoose 创建后台服务连接数据库并进行增删改查

懵懂的女人 提交于 2019-12-05 07:13:17
本文原创 ,转载请标明出处 1 koa的基本使用 koa是基于node平台的web开发框架 使用koa去创建一个服务器 const Koa = require('koa') // bodyParser 处理post请求 const bodyParser = require('koa-bodyparser') const port = 7001 const app = new Koa() app.use(bodyParser()) app.use(async ctx => { ctx.body = 'hello , i am first koa applicance' }) app.listen(port)   koa 使用 下面方式 利用 ctx.body 将内容或接口数据返回给到页面 app.use(async ctx => { ctx.body = '' })   下面一个从后台获取数据返回给到页面 的demo(作为中间层) const Koa = require('koa') // bodyParser 处理post请求 const bodyParser = require('koa-bodyparser') // 用于请求后台数据 当我们想把改服务作为web和后台的中间层时 需要使用request-promise 或者request 当然还有其他的 const

koa2的学习

China☆狼群 提交于 2019-12-05 02:39:49
安装koa的以及koa-router及全局的glob(可使用*号遍历所有文件) npm install koa --save npm install glob --save npm install koa-router --savenpm install koa2-cors --save 引入koa const Koa = require('koa') const app = new Koa() const Router=require('koa-router') const mongoose = require("mongoose") const {connect,initSchemas} = require("./database/init") const cors=require("koa2-cors")//跨域需求 app.use(cors())//注意位置 let entry = require("./appApi/entry.js") let router = new Router(); router.use('/entry',entry.routes())//路由配置项 app.use(router.routes()) //注意 app.use(router.allowedMethods())//注意 ;(async()=>{ await connect()//连接

koa-router中间件生态系统

无人久伴 提交于 2019-12-04 06:55:26
说下koa-router中间件生态系统:koa-router文档地址 https://www.npmjs.com/package/koa-router 1、强大的koa中间件生态系统,提供了中间件koa-router来完成路由的配置2、Koa中的路由和Express不同,Express是把路由集成在Express中,Koa则需要通过kao-router模块使用 安装koa:cnpm install koa --save 安装koa-router:cnpm install koa-router --save 使用: 路由导航 get请求获取参数 (ctx.query) 动态路由及其获取参数(/product/:id ctx.params.id) 引入 koa模块 //引入 koa模块 var Koa=require('koa'); var router = require('koa-router')(); /*引入是实例化路由** 推荐*/ //实例化 var app=new Koa(); router.get('/',async (ctx)=>{ ctx.body="首页"; }) app.use(router.routes()); /*启动路由*/ app.use(router.allowedMethods()); /* * router.allowedMethods()作用:

全栈项目|小书架|服务器开发-Koa全局路由实现

﹥>﹥吖頭↗ 提交于 2019-12-03 15:36:27
什么是路由 路由就是具体的访问路径,指向特定的功能模块。一个 api 接口是由 ip(域名)+端口号 +路径组成,例如 : https://www.npmjs.com/package/koa-router 就是一个路由,指向了 koa-router 的 npm 页面。 为什么需要 koa-router 路由 当然不需要 koa-router 也能实现路由功能,通过 ctx.request.path 去指定路径实现。例子如下: const koa = require('koa2') const app = new koa() app.use(async (ctx, next) => { if (ctx.request.path === '/') { // 首页 ctx.response.status = 200 ctx.response.body = 'index' } else if (ctx.request.path === '/list') { // 列表页 ctx.response.status = 200 ctx.response.body = 'list' } else { ctx.throw(404, 'Not found') // 404 } await next() }) app.listen(3000) 参考:Koa 路由 以上代码只是实现两个接口,就写了不少代码

How can I split my koa routes into separate files?

元气小坏坏 提交于 2019-12-03 01:12:29
问题 I'm trying to figure out how to split my routes into separate files. I have this so far, but it doesn't work. I just get Not found when I try to access http://localhost:3001/api/things //server.js var koa = require('koa'); var app = koa(); var router = require('koa-router'); app.use(router(app)); require('./routes')(app); // routes.js module.exports = function *(app){ app.use('/api/things', require('./api/things')); }; // api/things/index.js var Router = require('koa-router'); var router =

How can I split my koa routes into separate files?

时光总嘲笑我的痴心妄想 提交于 2019-12-02 14:42:38
I'm trying to figure out how to split my routes into separate files. I have this so far, but it doesn't work. I just get Not found when I try to access http://localhost:3001/api/things //server.js var koa = require('koa'); var app = koa(); var router = require('koa-router'); app.use(router(app)); require('./routes')(app); // routes.js module.exports = function *(app){ app.use('/api/things', require('./api/things')); }; // api/things/index.js var Router = require('koa-router'); var router = new Router({ prefix: '/api/things' }); router.get('/', function *(){ this.body = [{ name: 'Foo'}, { name:

node.js使用Koa搭建基础项目

落爺英雄遲暮 提交于 2019-11-27 13:21:31
Koa 是由 Express 原班人马打造的超轻量服务端框架 与 Express 相比,除了自由度更高,可以自行引入中间件之外,更重要的是使用了 ES6 + async,从而避免了回调地狱 不过也是因为代码升级,所以 Koa2 需要 v7.60 以上的 node.js 环境 一、创建项目   1.手动创建一个项目目录,然后快速生成一个 package.json 文件     $ npm init -y   安装 koa //当前版本 2.4.1     $ npm install koa -s    然后创建一个 app.js const Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'hello 你好'; }); app.listen(3000);   在cmd中输入node app.js就可以启动项目了,在浏览器输入http://localhost:3000/ 查看效果      或者你在package.json,更改代码:      输入命令,npm start也是一样的,可以运行项目,这样一个最基础的koa应用就好了!   2.利用脚手架 koa-generato 来生成项目     打开cmd,输入:      $ npm install koa

node项目实战-用node-koa2-mysql-bootstrap搭建一个前端论坛

≡放荡痞女 提交于 2019-11-26 09:37:57
前言 在学习了koa2和express并写了一些demo后,打算自己写一个项目练练手,由于是在校生,没什么好的项目做,即以开发一个前端论坛为目标,功能需求参照一下一些社区拟定,主要有: 登录注册 个人信息维护、头像等基本信息 发表文章,富文本编辑器采用wangEditor插件,编辑、删除文章,文章分类等 文章评论、文章收藏、点赞等 支持文章分页、评论分页加载 关注取关用户 资源(文件)上传分享、下载、查看 学习资源推荐..... 作者个人日记 but。。。。由于种种原因,目前仅实现了部分功能,资源分享还没写 项目运行效果: http://120.77.211.212/home 项目技术栈应用:node-koa2-ejs-bootstrap3—jquery, github地址: https://github.com/Jay214/myb... ,如果觉得对你有帮助或者还看得下去,欢迎star~~鼓励鼓励我这前端渣渣辉。 开发环境 node: v8.3.0 koa: ^2.4.1 mysql: 5.7.1 npm: 5.3.0及以上 如何运行项目 将项目clone至本地 git clone git@github.com:Jay214/myblog-koa2.git 安装模块中间件 npm install 安装mysql mysql版本推荐使用5.7以下的,5.7的有个bug