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 中间件的用法及如何开发中间件
随机推荐
- python之optparse模块
测试例子 #!/usr/bin/env python2.7 import sys import os from optparse import OptionParser def parse_optio ...
- MyBatis《1》
MyBatis入参考文档:http://mybatis.org/mybatis-3/zh/ 1.使用MyBatis前的准备 1.增加Maven依赖 <dependency> <g ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
- 初试pyspider
灵感来源: https://zhuanlan.zhihu.com/p/31421316 抓取页面: https://www.nvshens.com/tag/new/ 页面分析: 首页获取所有图片详情页 ...
- 十五、Hadoop学习笔记————Zookeeper客户端的使用
timeout表示会话超时时间,zookeeper靠与客户的心跳来判断会话是否有效(单位毫秒), -r为只读,表示zookeeper如果与半数以上服务器失去连接则会停止服务,如果有-r参数,则会继续保 ...
- 关于Unity里动态加载图片
Resources.Load 使用该方法可以动态加载资源 过程: 1.首先需要在Project面板里创建一个名为Resources的文件夹(名字必须是这个 不能写错啊) 2.把要加载的游戏对象放到该目 ...
- MVC文件夹及文件说明
一个典型的 ASP.NET MVC Web 应用程序的文件夹内容如下所示: 所有的 MVC 应用程序的文件夹名称都是相同的.MVC 框架是基于默认的命名.控制器写在 Controllers 文件夹中, ...
- 《Linux命令行与shell脚本编程大全》第二十二章 gawk进阶
gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据. 22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量和自定义变量 22.1.1 内建变量 ga ...
- 进程互斥(锁)------------------>一个坑
进程互斥锁 引入: 进程之间数据不共享,但是共享同一套文件系统(如硬盘.键盘.cpu等),所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理,即进程加锁 ...
- Android崩溃提示 “EGL_BAD_CONFIG"
这两天将之前提到的一个室内定位程序的ArcGIS的SDK从10.2.8迁移到100.1.0. 期间反复出现奇怪的问题,最终定位到这个问题: java.lang.RuntimeException: cr ...