2019独角兽企业重金招聘Python工程师标准>>>

学习架构:

由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上。如果需要在低于7.6的版本中应用Koa的async方法,建议使用Babel hook。示例代码如下:

require('babel-register');
// 应用的其余 require 需要被放到hook后面
const app = require('./app');

1.项目初始化

在安装Koa之前,读者需要先创建项目的目录。新建文件夹koa2-tutorial/用来存放示例代码,然后在koa2-tutorial/根目录下初始化项目,生成配置文件package.json。命令如下:

npm init

注意:生成的package.json文件用于管理项目中用到的一些安装包

项目初始化完成后,在当前目录下新建app.js文件并输出所有程序员都熟知的一句话:

console.log(“Hello World”)

打开控制台,进入到目录koa2-tutorial/,执行如下命令:

node app.js

如果控制台成功输出“Hello World”,说明环境正常。至此项目的准备工作已经完成。基本的项目结构应该如下所示:

├── app.js

├── package.json

2.安装Koa

Koa的安装过程非常简单,只需通过如下命令即可安装最新版本:

npm install koa --save

注意:Koa的版本信息会自动保存在package.json中。

3.启动服务器

Koa安装完成之后,修改app.js文件实现启动Web服务器的功能。代码如下所示:

const koa = require('koa');const app = new koa();app.listen(3000, () => {console.log('server is running at http://localhost:3000');});

然后运行app.js文件并打开浏览器访问http://localhost:3000,正常情况下,页面将会显示“Not Found”。这是因为在3000端口下启动服务器并进行访问的时候并没有对HTTP请求进行响应处理,故而报404 Not Found错误。为了让浏览器显示一些信息,代码还需要做些调整。修改app.js,加入一个简单的中间件处理所有请求。代码如下所示:

app.use(async (ctx, next) => {await next();ctx.response.type = 'text/html';ctx.response.body = '<h1>Hello World</h1>';});

注意:此段代码需放置在服务器启动之前。

重新启动服务器后,再次访问浏览器,将会正常显示“Hello World”。

本节在线视频地址https://camp.qianduan.group/koa2/2/1/1,扫描二维码可观看:

一起跟我来学习《Koa与Node.js开发实战》这本书吧。

转载于:https://my.oschina.net/tushuchen/blog/2993800

Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)相关推荐

  1. 《Node.js开发实战》代码下载、简介与前言

    请下载代码评估:https://pan.baidu.com/s/1qYC3cVa   (密码: bba3). 内容简介 本书以实战开发为原则,以Node.js原生知识和框架实战为主线,详细介绍Node ...

  2. 《Node.js开发实战详解》学习笔记

    <Node.js开发实战详解>学习笔记 --持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...

  3. 腾讯高级工程师带你完整体验Node.js开发实战

    前几天,跟我一朋友聊天,他现在是阿里的架构师,说:「他们根本不知道,现在的电商大促有多么依赖 Node.js.」 说真的,我倒并不意外.作为一个定位明确的高性能 Web 服务器,Node.js 目前非 ...

  4. Vue.js+Node.js开发实战:从入门到项目上线

    <Vue.js+Node.js开发实战:从入门到项目上线>以JavaScript语言为基础,以一个完整的网站开发过程为主线,介绍了一整套面向Web项目的开发技术,如使用Node.js搭建服 ...

  5. Node.js 开发技能图谱

    # Node.js 开发技能图谱 ## Node.js 语言环境搭建 - Node.js 安装(3m大法:nvm.npm.nrm) - Node.js 命令 - Node.js开发工具(推荐vscod ...

  6. 2021年Node.js开发人员学习路线图

    Node.js 自发布以来,已成为业界重要破局者之一.Uber.Medium.PayPal 和沃尔玛等大型企业,纷纷将技术栈转向 Node.js.Node.js 支持开发功能强大的应用,例如实时追踪 ...

  7. Node.js开发的WeMall 6.0正式发布

    WeMall商城6.0摒弃以往的开发框架think PHP,使用node.js开发,其巧妙的回调机制能节约运行线程的时间,在处理大量并行访问的时候比think PHP更快. 部分相关组件代码信息: k ...

  8. 2021 年 Node.js 开发人员学习路线图

    前言:总有小伙伴问 Node.js 如何深入学习,本文是一个不错的学习大纲. Node.js 自发布以来,已成为业界重要破局者之一.Uber.Medium.PayPal 和沃尔玛等大型企业,纷纷将技术 ...

  9. 《Node.js开发指南》书评汇总

    刚查了下库存,发现订阅<Node.js开发指南>的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ------------------------- ...

最新文章

  1. 同行评审以权谋私,让投稿人多引用自己文章,爱思唯尔将彻查此事
  2. 实战SSM_O2O商铺_29【商品】商品添加之Service层的实现及重构
  3. CodeForces - 468C Hack it!(构造+数位dp)
  4. Centos6.4 为用户添加sudo功能
  5. 使用 Canvas 生成公众号头图
  6. Android为spinner设置适配器,Android Spinner与适配器模式详解及实例代码
  7. 7-1 一元多项式求导 (10 分)
  8. 基于django的视频点播网站开发-step12-后台订阅功能...
  9. 程序员开发的“逆天”软件
  10. 【图像增强】基于matlab频域+密度分割+灰度级-彩色变换伪彩色图像增强【含Matlab源码 1011期】
  11. luoguP1991无线通讯网
  12. 对话元境 王矛,详解元境蓝图:以全面的技术重新定义计算范式
  13. java 宠物店管理系统
  14. 公众号申请并发布文章教程
  15. VMDK(VMWare Virtual Machine Disk Format)是虚拟机VMware创建的虚拟硬盘格式
  16. Learning Compact Binary Descriptors with Unsupervised Deep Neural Networks
  17. cmake的-G 参数
  18. 谈谈Linux中Redis的薪火相传与反客为主及如何实现
  19. 关于互联网“毕业“的一些思考
  20. JAVA批量获取归属地所有手机号

热门文章

  1. getbean方法找不到bean_和平精英:一直找不到敌人?5个方法,让你彻底摆脱“瞎子”...
  2. apache iotdb_Apache-IoTDB
  3. 消除类游戏ccf c语言,ccf试题 消除类游戏
  4. html 加粗_若想学前端开发,要从HTML基本元素开始第一节
  5. oracle命令未正确结束_详解Oracle数据库终止正在进行expdp导出数据的正确操作
  6. 计算机里的游戏可以找回吗,找回电脑游戏作文
  7. 线性回归 linear regression
  8. 中国伺服电机行业运营现状及前景趋势展望报告2022-2028年版
  9. openssl简介-指令asn1parse
  10. 入选广州粤菜食材生产基地 农业大健康·林裕豪:从玉农业品牌化