基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

文章

Koa 起手 - 环境准备

由于 koa2 已经开始使用 async/await 等新语法,所以请保证 node 环境在 7.6 版本以上。

安装node.js

项目初始化

身为程序员,初入江湖第一招:『Hello World』

首先,创建一个目录 koa2-tutorial/ 用来存放我们的代码。然后开始初始化项目:

// 创建 package.json 文件。该文件用于管理项目中用到一些安装包
npm init

项目初始化完成后,在创建的目录里,新建文件 app.js 并在里面写下:

console.log('Hello World')

现在,我们的项目结构应该如下:

├── app.js
├── package.json

打开控制台,进入目录 koa2-tutorial/ 并输入:

node app.js

成功输出 Hello World,说明环境正常。至此,我们的准备工作完成。

下面我们会基于 Koa2 启动服务器。

启动服务器

运行如下命令,安装 Koa (版本信息会自动保存在 package.json 中)

// 安装 koa,并将版本信息保存在 package.json 中
npm i koa -S

重写 app.js,增加如下代码:

const Koa = require('koa')
const app = new Koa()

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

运行 node app.js 并打开浏览器访问 localhost:3000,页面显示 Not Found

因为在启动服务器后,代码并没有做其他的事情,也就没有了交互。

我们继续修改 app.js 文件:

const Koa = require('koa')
const app = new Koa()

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

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

重启服务器并再次访问,这时页面将正常显示 Hello World

在增加的代码里面,用到了 Koa 的「中间件」,那么什么是「中间件」呢?下一节我们会为大家详细讲述。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏惨绿少年

route命令实例练习

第1章 命令配置 虚拟服务器 网卡配置信息 虚拟网卡名称 虚拟网卡模式 服务器01 eth1 10.0.0.1...

1910
来自专栏黑泽君的专栏

vim/vi 怎么取消高亮 或 取消选中状态

在Vi里面如果要搜索某个关键字,只要在命令状态下键入/xxx就可以了,比如,我要搜索port的位置,我就键入: /port 然后回车,一个文件中,所有出现这个字...

861
来自专栏网络和编程

DHCP地址分配流程简述

学技术的,经常会被问到,xxx是什么?我们经常会回答,xxx不就是那啥啥啥嘛,嗯..

3015
来自专栏IT可乐

Hadoop 2.7 伪分布式环境搭建

1、安装环境 ①、一台Linux CentOS6.7 系统   hostname                ipaddress              ...

2067
来自专栏idba

浅析interactive_timeout和wait_timeout

这篇文章之前发布过,但是结论有误,因为公众号只能修改几个错别字,不能修改文章结论,故重新发布一次,修正之前的结论。

1113
来自专栏性能与架构

nginx负载均衡的健康检查

如果服务器组内有机器出现问题,nginx就不再向其转发请求了,那么nginx如何知道某台服务器是否能正常? 这就需要nginx对每台服务器进行健康检查 检查的方...

3577
来自专栏finleyMa

react学习系列3 使用koa-router模拟后台接口

当用create-react-app创建好项目,启动后会自动打开 localhost:3000。 我们希望当访问 localhost:3000/api/tod...

2234
来自专栏smy

chrome浏览器Timing内各字段解析

Queueing 请求文件顺序的的排序 ? Stalled 是浏览器得到要发出这个请求的指令到请求可以发出的等待时间,一般是代理协商、以及等待可复用的TCP连接...

3195
来自专栏岑玉海

Hbase 学习(十) HBase Snapshots

HBase Snapshots允许你对一个表进行快照(即可用副本),它不会对Region Servers产生很大的影响,它进行复制和 恢复操作的时候不包括数据拷...

4028
来自专栏鬼谷君

使用Nginx转发TCP/UDP数据

3783

扫码关注云+社区