下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 22 | HTTP:用koa优化石头剪刀布游戏
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Node.js开发实战

共57讲 · 约600分钟
3787
免费
01 | 课程介绍
免费
02 | 内容综述
免费
03 | Node.js是什么?
免费
04 | Node.js可以用来做什么?
免费
05 | 课程实战项目介绍
06 | 什么是技术预研?
07 | Node.js开发环境安装
08 | 第一个Node.js程序:石头...
09 | 模块:CommonJS规范
10 | 模块:使用模块规范改造石...
11 | 模块:npm
12 | 模块:Node.js内置模块
13 | 异步:非阻塞I/O
14 | 异步:异步编程之callback
15 | 异步:事件循环
16 | 异步:异步编程之Promise
17 | 异步:异步编程之async/...
18 | HTTP:什么是HTTP服务器?
19 | HTTP:简单实现一个HTTP服...
20 | HTTP:实现网页版石头剪刀...
21 | HTTP:用express优化石头...
22 | HTTP:用koa优化石头剪刀...
23 | RPC 调用:什么是RPC调用...
24 | RPC调用:Node.js Buffe...
25 | RPC 调用:Node.js net...
26 | 项目启动:整体需求分析
27 | 项目启动:极客时间App下...
28 | 课程详情页:极客时间详情...
29 | 课程详情页:将ES6模版字...
30 | 课程详情页:极客时间详情...
31 | 课程播放页:极客时间播放...
32 | 课程播放页:GraphQL API...
33 | 课程播放页:极客时间播放...
34 | 课程列表页:极客时间列表...
35 | 课程列表页:用 Vue/Rea...
36 | 课程列表页:极客时间列表...
37 | 性能工具:HTTP服务的性能...
38 | 性能工具:Node.js性能分...
39 | 代码优化:JavaScript代码...
40 | 代码优化:内存管理优化
41 | 代码优化:Node.js C+...
42 | 多进程优化:Node.js子进...
43 | 多进程优化:Node.js cl...
44 | 多进程优化:进程守护与管...
45 | 架构优化:动静分离
46 | 架构优化:反向代理与缓存...
47 | 概念:框架设计和工程化
48 | 概念:设计模式
49 | 概念:Serverless
50 | 服务端框架搭建:koaless
51 | 服务端框架搭建:屏蔽请求...
52 | 服务端框架搭建:完成服务...
53 | 云函数式工程实现:服务端...
54 | 云函数式工程实现:工具端...
55 | 加餐:调试 Node.js 源...
56 | 结束语
57 | 彩蛋:这是一个严肃的课程
本节摘要

精选留言(10)

  • 2019-11-14
    这个洋葱模型,好像递归的感觉

    作者回复: 是挺像的,不过递归一般是不停执行同一个函数

    1
  • 2019-12-02
    koa的话有没有整套的学习文档呢?

    作者回复: 官方文档就很好了

  • 2019-11-26
    老师,有个疑问。ctx.body赋值后在跟着一个process.exit(),将进程退出。为啥body内容不会输出,进程就先杀了。

    作者回复: 最简单的直觉是说明返回http body的过程是异步操作。在它成功回调之前进程就挂了,自然不会输出。

    另外也有可能是你的所有中间件还没执行完,koa还没开始回写http body。因为koa符合洋葱模型,所以它会让所有中间件执行完之后,认为你的操作都完成了,再取出ctx.body作回写。这部分你可以查看koa的源码看到。

  • 2019-11-23
    Uncaught (in promise) TypeError: Failed to execute 'clone' on 'Response': Response body is already used

    我以为我哪里写错了, 用 clone 下来的代码也无法执行. 报错了... 不太理解,能说下吗

    作者回复: 一般看错误的时候要看堆栈。堆栈可以看出来这个错误是由哪一行代码抛出的,以及它的调用来源。只有一行信息很难看明白。

  • 2019-11-17
    老师你好,想请问一下,为什么我写的时候如果把路由位置顺序改变了,结果会有所不同

    老师的示例:
    app.use(mount('/favicon.ico'.......))

    app.use( mount('/game', gameKoa))

    app.use(mount('/'.......))

    如果我把路由'/game'和'/'交换了位置
    那么:我点击按钮发起请求的时候,页面就会一直返回index.html,说明'/game'匹配到了'/'就停止了,并没有执行下面的中间件

    请问这个路由是模糊匹配吗

    展开

    作者回复: 是的,mount是模糊匹配的没错。

    1
  • 2019-11-17
    程序演示由命令行,然后到 http,继续express,最后koa2 演示。真是大餐享受。
  • 2019-10-29
    为什么不在express中使用async await,nodejs可以支持,错误的话用try..catch捕获

    作者回复: 也有人这么用,不过我觉得koa支持得更好

  • 2019-10-18
    为什么不是koa-router中间件

    作者回复: 我更喜欢mount,更加符合程序和程序搭积木的玩法。不过它们也可以搭配使用,router用来做rest路由也很舒服。

  • 2019-10-17
    nodejs运维接入方式这一讲呢?

    作者回复: 调整掉了,可能后两章会讲

  • 2019-10-17
    Mark