Koa2框架搭建电影预告片网站
【课程介绍】随着 ES6/7 的普及推广,Koa2 框架也逐步走入大小公司一线工程师的视野,作为即将在前端工作中占据一席之地的框架,Koa2 学习势在必行。这一次 Scott 老师通过完整的网站项目,以及足够篇幅的源码解读,为你讲解 Koa2 框架的原理、实战项目中的作用,以及与其他三方库框架的结合使用姿势,小伙伴们不要错过哦!
【课程目录】
- 第1章 2018 年的编程姿势2018 年, Nodejs 版本如何跟进,Promise 要不要用,Async Function 如果使用,通过 Babel 如何编译,代码风格总是没有事实标准,激进的换成 Standard 会不会更清爽。
- 1-1 koa2导学
- 1-2 安装跟进最新的 Node.js 版本
- 1-3 毫不犹豫的使用 Promise(callback到Promise再到Promisify)
- 1-4 使用 Babel 编译 ES7 Async Function
- 第2章 必会 ES6-7 语法特性与规范ES6/7/8 时代到来,重要的语法特性,如 Generator Function 与迭代器的关系,如何通过 co 来执行 Promise 和 Generator Function,箭头函数的常见用法,import 和 export 如果使用 Babel 如何进行编译,如何在生产环境进行编译构建。
- 2-1 生成器函数 Generator Function
- 2-2 co 库执行 Promise 和 Generator Function
- 2-3 箭头函数 Arrow Function
- 2-4 异步函数 Async Function 统一世界
- 2-5 借助 Babel 编译 import 与 export
- 2-6 生产环境使用 Babel 支持 ES6-7
- 第3章 层层学习 Koa 框架的 API通过一个个文件,一个模块一个模块的分解,从源代码里调出核心的代码,一层层进入去了解 koa 的核心对象、服务类、上下文对象、请求与相应对象他们的代码架构和角色构成,同时去研究 koa 核心知识点 – 中间件机制以及借助 koa-compose 而实现的魔法递归流转过程,最后学习会话和 cookie 的基础知识。…
- 3-1 Koa 核心对象
- 3-2 Web 服务类 Application
- 3-3 HTTP 上下文对象 context(ctx)
- 3-4 HTTP 请求对象 request(req)
- 3-5 HTTP 响应对象 response(res)
- 3-6 Koa 中间件 middlewares
- 3-7 纯函数-尾递归与魔法大师 koa-compose
- 3-8 session-cookie-路由与 Koa 小结
- 第4章 Koa2 与 Koa1 、Express 框架对比对比 Koa 的两个重大版本,也就是 Koa1 和 Koa2,两代版本的区别,以及其他框架如 Express 框架的架构区别和语法、用法区别。
- 4-1 Koa2 与 Koa1 的用法对比
- 4-2 Koa 与 Express 的 API 能力对比
- 4-3 Koa 与 Express 的 中间件执行模型对比
- 4-4 Koa2 Express 选型及小结(含奖励哦)
- 第5章 从 0 开发一个电影预告片网站从 new Koa() 开始起一个干净的 Server 服务,来了解 Koa 简洁的请求处理流程,到可以返回一个静态 HTML 页面,到可以集成模板引擎返回动态内容,到 Bootstrap 搭建传统网站页面来学习项目 从 0 到 1 的搭建流程。
- 5-1 设计与分析
- 5-2 6 行代码撸一个服务器推到 Git 仓库
- 5-3 服务器返回一个静态 HTML 页面
- 5-4 增加 Pug ejs 动态模板引擎渲染
- 5-5 集成模板引擎到 Koa 搭建初始模板目录
- 5-6 借助 BootStrap 4-x 搭建网站首页
- 5-7 关于构建工具 Parcel 解决的问题
- 5-8 利用 Parcel 打包普通网站以及 React 架构网站的资源方案
- 第6章 利用爬虫搞定网站基础数据学习如何在 Koa 里面起多个子进程,如何子进程中跑重的脚本任务,比如通过 Google Puppeteer 无头浏览器来模拟真实用户访问,来爬取到设置过反爬机制的网页文本,以及如何通过 Koa 发起服务器端的 HTTP 请求,进而拿到图片和视频地址,最终自动的上传到七牛图床上托管以加速访问,节省带宽。…
- 6-1 设计与分析
- 6-2 利用 puppeteer 爬取和分析电影列表
- 6-3 child_process fork 子进程来运行爬虫脚本
- 6-4 服务器端通过 request 向豆瓣 API 请求详细数据
- 6-5 Scott 与妹子合租引发的同步异步与阻塞
- 6-6 puppeteer 深度爬取封面图和视频地址
- 6-7 上传线上封面图和视频搬砖到七牛云图床上
- 第7章 彩蛋篇 – [高难度拔高干货] 深度理解 Node.js 异步 IO 模型本篇是课程精心赠送之高难度拔高彩蛋篇,意在帮助有基础的同学进一步加深对 Node.js 底层的组成,底层的 Libuv 事件循环阶段,microtasks 事件优先级,结合大量代码案例来掌握 Node.js 核心知识 – 可以横向扩展的多进程单进程无阻塞事件驱动模型。…
- 7-1 Nodejs 在本期课程彩蛋知识点
- 7-2 从异步非阻塞的代码案例切入事件循环
- 7-3 从 libuv 源码来理解 Event Loop 的 6 个阶段
- 7-4 设计一个测试用例来验证自己对事件循环的理解
- 7-5 单线程多进程模型 事件循环及进程通信
- 第8章 实战篇 – 在 Koa 中向 MongoDB 建立数据模型在 Mac/Windows/Ubuntu/Centos 上安装 MongoDB 数据库,并且在 Koa 集成 Mongoose 中间件后,为电影,分类设计 schema 来创建数据模型,以导入之前爬到的预告片数据。
- 8-1 Windows Mac CentOS Ubuntu 安装 MongoDB
- 8-2 Koa2 中利用 Mongoose 连接数据库
- 8-3 MongoDB 和 Mongoose 关于 collection schema model entity 的基本概念
- 8-4 利用 schema model 创建电影的数据模型
- 8-5 创建用户数据模型并实现加盐加密和敏感登录控制
- 8-6 创建电影分类以及初始化所有 schema
- 8-7 向数据库导入爬到的电影数据
- 8-8 图床资源同步以及管理换账号初始化
- 第9章 实战篇 – 为网站增加路由与控制器层对外提供 API 服务通过在 Koa 中集成多个中间件,同时封装基于装饰器的路由组件,来提供更易于拓展的路由层级,并且实现控制器与数据服务层的分离,对外提供 API 接口服务。
- 9-1 [第 2 次迭代] 快速实现一个最小统计的 API 服务器
- 9-2 [第 2 次迭代] 了解 Koa-router 的基本能力以及取舍套路
- 9-3 [第 2 次迭代] 通过装饰器来把路由进行拆分和集成
- 9-4 [第 2 次迭代] 结合 Decorator 对 koa-router 进行抽象封装支持路由空间分离
- 9-5 [第 2 次迭代] 分拆项目服务层与路由层对外暴露 API 服务
- 第10章 实战篇 – 集成 AntDesign 与 Parcel 打通前后端与构建把 AntDesign 集成到项目中,并且把 Parcel 也集成到 Koa 的本地开发环境中,同时配置构建中间层来做到本地开发与生产环境的构建分离,让整个前后端的项目贯穿起来
- 10-1 [第 3 次迭代] 配置 Babel Postcss 来支持 Parcel 的打包构建
- 10-2 [第 3 次迭代] 在 Koa 中集成 Parcel 开发与生产环境的构建中间件
- 10-3 [第 3 次迭代] 结合 react-router-dom 与 import 来动态加载前端路由业务组件
- 10-4 [第 3 次迭代] 实现网站的布局模板组件和导航菜单
- 第11章 实战篇 – 实现网站前端路由与页面功能以底层的 Koa 为服务底层,在上层 AntDesign 项目中开发首页、详情页、播放功能、推荐功能、筛选功能,以及路由分拆来实现网站的基础页面。
- 11-1 [第 4 次迭代] 基于 axios 封装可以控制 loading 前置状态的请求组件
- 11-2 [第 4 次迭代] 开发网站首页电影列表
- 11-3 [第 4 次迭代] 抽象网站首页电影卡片内容组件
- 11-4 [第 4 次迭代] 为电影卡片增加视频播放及切换功能
- 11-5 [第 4 次迭代] 开发电影详情页
- 第12章 实战篇 – 实现后台登录权限与管理功能实现网站的后台用户登录校验加盐与列表管理功能,同时维持用户的登录状态。
- 12-1 [第 5 次迭代] 实现网站的后台登录页面及密码校验
- 12-2 [第 5 次迭代] 实现网站后台管理列表页
- 12-3 [第 5 次迭代] 增加登录权限以及参数验证
- 12-4 [第 5 次迭代] 增加用户会话保持与数据删除功能
- 第13章 服务器部署与发布详细讲解服务器部署与发布的相关内容。
- 13-1 简单配置本地与服务器的 PM2 环境及发布脚本
- 13-2 服务器第一次部署与发布
- 第14章 课程总结与展望对 Koa2 及 Node.js 核心知识进行回顾总结,并且对 Koa3 进行展望,整理整个项目的应用场景与上线维护注意事项。
- 14-1 Koa2 课程回顾总结