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把读取的内容返回给客户端的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/yd-ios/10796.html