Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)
学习架构:
由于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开发实战》这本书吧。
Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)的更多相关文章
- Koa与Node.js开发实战(3)——Nunjucks模板在Koa中的应用(视频演示)
技术架构: 在Koa中应用Nunjucks,需要先把Nunjucks集成为符合Koa规格的中间件(Middleware),从本质上来讲,集成后的中间件的作用是给上下文对象绑定一个render(vi ...
- Koa与Node.js开发实战(2)——使用Koa中间件获取响应时间(视频演示)
学习架构: 在实战项目中,经常需要记录下服务器的响应时间,也就是从服务器接收到HTTP请求,到最终返回给客户端之间所耗时长.在Koa应用中,利用中间件机制可以很方便的实现这一功能.代码如下所示: 01 ...
- iKcamp新书上市《Koa与Node.js开发实战》
内容摘要 Node.js 10已经进入LTS时代!其应用场景已经从脚手架.辅助前端开发(如SSR.PWA等)扩展到API中间层.代理层及专业的后端开发.Node.js在企业Web开发领域也日渐成熟,无 ...
- 基于 Koa平台Node.js开发的KoaHub.js的控制器,模型,帮助方法自动加载
koahub-loader koahub-loader是基于 Koa平台Node.js开发的KoaHub.js的koahub-loader控制器,模型,帮助方法自动加载 koahub loader I ...
- 《Node.js开发实战详解》学习笔记
<Node.js开发实战详解>学习笔记 ——持续更新中 一.NodeJS设计模式 1 . 单例模式 顾名思义,单例就是保证一个类只有一个实例,实现的方法是,先判断实例是否存在,如果存在则直 ...
- 腾讯高级工程师带你完整体验Node.js开发实战
Node.js拥有广大的 JavaScript程序员基础并且完全开源,它被广泛地用在 Web服务.开发工作流.客户端应用等诸多领域.在 Web 服务开发这个领域,业界对 Node.js 的接受程度最高 ...
- mac下配置Node.js开发环境、express安装、创建项目
mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...
- 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码
最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...
- 基于 Koa平台Node.js开发的KoaHub.js获取/设置会话功能代码
koa-session2 Middleware for Koa2 to get/set session use with custom stores such as Redis or mongodb ...
随机推荐
- CynosDB技术详解——架构设计
本文由腾讯云数据库发表 前言 CynosDB是新一代分布式数据库,100%兼容MySQL和PostgreSQL,支持存储弹性扩展,一主多从共享数据,性能更是超越社区原生MySQL和PostgreSQL ...
- 当锚点遇到fixed
问题:页面内容导航fixed+锚点错位 solution: 锚点定位跟外边距没有关系. 我们使用内边距padding-top=fixed导航高度来使锚点可以精准定位: 此时新的问题产生了,内边距的存在 ...
- php redis 处理websocket聊天记录
<?php ini_set('display_errors', 'on'); class chatClass { private $redis; //这个变量模拟用户当前状态,是否登录,是否可查 ...
- UI自动化测试之Jenkins配置
前一段时间帮助团队搭建了UI自动化环境,这里将Jenkins环境的一些配置分享给大家. 背景: 团队下半年的目标之一是实现自动化测试,这里要吐槽一下,之前开发的测试平台了,最初的目的是用来做接口自动化 ...
- selenium跳过webdriver检测并爬取天猫商品数据
目录 简介 编写思路 使用教程 演示图片 源代码 @(文章目录) 简介 现在爬取淘宝,天猫商品数据都是需要首先进行登录的.上一节我们已经完成了模拟登录淘宝的步骤,所以在此不详细讲如何模拟登录淘宝.把关 ...
- 企业出口退税申报系统的Sqlite数据库破解及读写
QQ:564955427 原始出处:https://www.cnblogs.com/Charltsing/p/TSSB.html 最近一些朋友反映龙图的企业出口退税申报系统的Sqlite数据库改变了加 ...
- h5手机查看
1.装个node:2.全局装个anywhere的npm包.(npm i -g anywhere)3.大功告成,现在到任意目录下用命令行执行anywhere就可以:(-p 参数可以设置启动端口) 补充: ...
- Vue.js 2.x笔记:指令(4)
1. 内置指令 指令是Vue.js 中一个重要的特性,主要提供了一种机制将数据的变化映射为DOM 行为. Vue.js 本身提供了大量的内置指令来进行对DOM 的操作,同时可以开发自定义指令. 2. ...
- Spring-webflow基础讲解
什么是webflow: Spring Web Flow构建于Spring MVC之上,允许实现Web应用程序的“流程”.流程封装了一系列步骤,指导用户执行某些业务任务.它跨越多个HTTP请求,具有状态 ...
- Flask 源码流程,上下文管理
源码流程 创建对象 from flask import Flask """ 1 实例化对象 app """ app = Flask(__na ...