iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备
安装搭建项目的开发环境
视频地址:https://www.cctalk.com/v/15114357764004
文章
Koa 起手 - 环境准备
由于 koa2 已经开始使用 async/await 等新语法,所以请保证 node 环境在 7.6 版本以上。
安装node.js
- 直接安装 node.js :node.js官网地址 https://nodejs.org
- nvm管理多版本 node.js :可以用nvm 进行node版本进行管理
- Mac 系统安装 nvm https://github.com/creationix/nvm#manual-install
- windows 系统安装 nvm https://github.com/coreybutler/nvm-windows
- Ubuntu 系统安装 nvm https://github.com/creationix/nvm
项目初始化
身为程序员,初入江湖第一招:『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 的「中间件」,那么什么是「中间件」呢?下一节我们会为大家详细讲述。
下一篇:《中间件用法——讲解 Koa2 中间件的用法及如何开发中间件(含视频)》
上一篇:iKcamp新课程推出啦~~~~~开始免费连载啦~每周2更共11堂iKcamp课|基于Koa2搭建Node.js实战项目教学(含视频)| 课程大纲介绍
iKcamp团队制作|基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备的更多相关文章
- 开始连载啦~每周2更共11堂iKcamp课|基于Koa2搭建Node.js实战项目教学(含视频)| 课程大纲介绍
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404), ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 处理静态资源
视频地址:https://www.cctalk.com/v/15114923882788 处理静态资源 无非花开花落,静静. 指定静态资源目录 这里我们使用第三方中间件: koa-static 安装并 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON
视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影. 前面的文章中,我们已经完成了项目中常见的问题,比如 路由 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层
视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请 ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923889450 规范与部署 懒人推动社会进步. 本篇中,我们会讲述三个知识点 定制书写规范 开发环境运行 如何 ...
- iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
中间件用法--讲解 Koa2 中间件的用法及如何开发中间件
随机推荐
- mysql数据库第一弹
mysql(一) sql语句 sql是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要 ...
- phpcms v9 前台getshell脚本
phpcms v9 前台getshell脚本 用法:python phpcmsv9getshell.py http://baidu.com # -*- coding:utf-8 -*- ''' --- ...
- Python 单向链表、双向链表
用面向对象实现Linkedlist链表 单向链表实现append.iternodes 双向链表实现append.pop.insert.remove.iternodes 单向链表与双向链表 单向链表: ...
- 负载均衡手段之DNS轮询
大多数域名注册商都支持对统一主机添加多条A记录,这就是DNS轮询,DNS服务器将解析请求按照A记录的顺序,随机分配到不同的IP上,这样就完成了简单的负载均衡.下图的例子是:有3台联通服务器.3台电信服 ...
- 巧学DBhelper
这几天在教我很重要的人学习,她属于那种超级小白,很超级的那种. 教她的过程中 发现有的知识点 不管这么教都不会.DBhelper就是不知道怎么记. 当时我就想到 杰哥(程杰)的出的大话系列,和他写书的 ...
- Java提高十七:TreeSet 深入分析
前一篇我们分析了TreeMap,接下来我们分析TreeSet,比较有意思的地方是,似乎有Map和Set的地方,Set几乎都成了Map的一个马甲.此话怎讲呢?在前面一篇讨论HashMap和HashSet ...
- ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证
ASP.NET Identity除了提供基于Cookie的身份验证外,还提供了一些高级功能,如多次输入错误账户信息后会锁定用户禁止登录.集成第三方验证.账户的二次验证等,并且ASP.NET MVC的默 ...
- Cannot load browser "PhantomJS": it is not registered! Perhaps you are missing some plugin? 测试安装遇到的BUG
安装了半天phantomjs就是安装不好,后面想了个死办法,http://phantomjs.org/download.html这个网址下先去下载好 phantomjs-2.1.1-windows.z ...
- weakSelf 和 strongSelf
最近在看SDWebImage源码,碰到一些比较绕的问题,理解了很久,然后在网上查了些的资料,才算是有了一些理解.在此记录一下. 源码如下: block会copy要在block中使用的实变量,而copy ...
- C++课程设计报告总结
C++课程设计报告 学院:计算机学院 班级:计科141班 姓名:刘建伟 学号:201400814125 指导老师:王璐 C++课程设计实验报告 学号:2014008 ...