当前位置:网站首页 > iOS应用开发 > 正文

Web应用开发框架-koa(一)——koa入门与使用、context对象 & 读取并返回html片段之response把读取的内容返回给客户端

Web应用开发框架-koa(一)——koa入门与使用、context对象 & 读取并返回html片段之response把读取的内容返回给客户端

web应用开发框架

内容简介

  • koa入门与使用
  • egg介绍以及实战
  • adonis简介

学习目标

  • 掌握nodejs后端开发思想
  • 掌握koa基本使用以及其生态
  • 能使用egg开发实际项目

第一章 koa入门与使用

在这里插入图片描述

简介

Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

  • 下一代, 超前
  • 新的语法, es7
  • 优雅

安装

Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.

你可以使用自己喜欢的版本管理器快速安装支持的 node 版本:

$ nvm install 7 $ npm i koa 

基本用法

1.架设http服务

只要三行代码,就可以用 Koa 架设一个 HTTP 服务。

const Koa = require('koa'); const app = new Koa(); app.listen(3000); 
2. context对象

Koa 提供一个 Context 对象,表示一次对话的上下文(包括 HTTP 请求和 HTTP 回复)。通过加工这个对象,就可以控制返回给用户的内容。

Context.response.body属性就是发送给用户的内容。

const Koa = require('koa'); const app = new Koa(); const main = ctx => { 
    ctx.response.body = 'Hello World'; }; app.use(main); app.listen(3000); 

上面代码中,main函数用来设置ctx.response.body。然后,使用app.use方法加载main函数。

你可能已经猜到了,ctx.response代表 HTTP Response。同样地,ctx.request代表 HTTP Request。

实例

app.js

var koa = require('koa'); var app = new koa(); const main = (ctx) => { 
    // koa提供的context对象 // ctx.status = 200; ctx.response.body = 'hello world'; // 为什么 修改body之后 status就变为了200. 通过set劫持,只要修改了body就会自动把status改为200. } app.use(main); // 接收一个函数 app.listen(3000); // 起服务 , 监听3000端口 
3. http response类型

Koa 默认的返回类型是text/plain,如果想返回其他类型的内容,可以先用ctx.request.accepts判断一下,客户端希望接受什么数据(根据 HTTP Request 的Accept字段),然后使用ctx.response.type指定返回类型。

// demos/03.js const main = ctx => { 
    if (ctx.request.accepts('xml')) { 
    ctx.response.type = 'xml'; ctx.response.body = '<data>Hello World</data>'; } else if (ctx.request.accepts('json')) { 
    ctx.response.type = 'json'; ctx.response.body = { 
    data: 'Hello World' }; } else if (ctx.request.accepts('html')) { 
    ctx.response.type = 'html'; ctx.response.body = '<p>Hello World</p>'; } else { 
    ctx.response.type = 'text'; ctx.response.body = 'Hello World'; } }; 
4. 网页模板

实际开发中,返回给用户的网页往往都写成模板文件。我们可以让 Koa 先读取模板文件,然后将这个模板返回给用户。

const Koa = require('koa'); const app = new Koa(); const fs = require('fs'); const path = require('path'); const main = (ctx) => { 
    ctx.response.type = 'html'; ctx.response.body = fs.createReadStream(path.resolve(path.join(__dirname, './demo.html'))); } app.use(main); app.listen(3000); 
实例

http.js

var koa = require('koa'); var app = new koa(); var fs = require('fs'); var path = require('path'); // 1. 使用nodejs读取html文件 // 2. response把读取的内容返回给客户端 const main = (ctx) => { 
    // koa提供的context对象 ctx.response.type = 'html'; ctx.response.body = fs.createReadStream(path.resolve(path.join(__dirname, './demo.html'))); // 一定要区别路径,好好体会一下!!!!! } app.use(main); // 接收一个函数 app.listen(3000); // 起服务 , 监听3000端口 
到此这篇Web应用开发框架-koa(一)——koa入门与使用、context对象 & 读取并返回html片段之response把读取的内容返回给客户端的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Web应用开发框架-koa(三)——koa中间件之概念、洋葱模型-执行顺序、异步中间件、koa-compose中间件合成-compsoe函数2024-11-28 14:27:05
  • Web应用开发框架-koa(四)——koa错误处理之状态码 & koa抛错两种方式-try和catch、ctx.app.emit() & koa-body模块处理错误 & koa-body处理文件上传2024-11-28 14:27:05
  • Web应用开发框架-koa(五)——koa总结之koa特点、koa-route路由 & 中间件之洋葱模型、异步中间件、中间件的合成 & 错误处理之http状态码、koa抛出错误、错误处理中间件2024-11-28 14:27:05
  • Web应用开发框架-egg(一)——Egg入门、Egg与Koa的关系 & 快速入门之编写Controller、静态资源2024-11-28 14:27:05
  • Web应用开发框架-egg(二)——快速入门之模板渲染、编写helper扩展、编写Middleware、渐进式开发 & egg总结2024-11-28 14:27:05
  • Web应用开发框架-egg(三)01-基础功能——目录结构的约定之框架规定的目录、内置插件约定的目录 & 内置对象之Application、context、Request & Response等2024-11-28 14:27:05
  • Web应用开发框架-egg(三)02-基础功能——运行环境 & Config配置之多环境配置、配置写法、配置加载顺序、合并规则、配置结果2024-11-28 14:27:05
  • Web应用开发框架-egg(三)03-基础功能——中间件之编写中间件、中间件的配置、使用中间件、在框架和插件中使用中间件 & 中间件的通用配置项2024-11-28 14:27:05
  • 嵌入式驱动开发和应用开发的区别(嵌入式软件开发和驱动开发)2024-11-28 14:27:05
  • 苹果个人开发者账号和企业开发者账号的区别(ios开发者账号个人版和企业版)2024-11-28 14:27:05
  • 全屏图片