课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

课程详情

  1. 第一单元  了解nodejs
    1. node简介
      1. 什么是nodejs
      2. 有什么好处
    2. node的特点
      1. 异步I/0
      2. 事件与回调函数
      3. 单线程
      4. 跨平台
    3. 如何安装
      1. 安装nodejs程序
      2. 编译安装
    4. 如何运行
      1. 运行方式(外部文件,终端)
    5. NODE_PATH环境配置
      1. 如何查看npm全局目录
      2. 全局目录和本地目录的区别
      3. 如何更改全局目录
    6. 总结:配置好环境,成功用两种方法打印出hello world!
  2. 第二单元 nodejs基础
    1. nodejs使用规范
      1. 讲解CommonJs规范
    2. 模块
      1. require,exports,module
      2. 模块初始化
    3. 主模块
      1. 演示模块之间加载机制
      2. 二进制模块了解一下
    4. 总结:
  3. 第三单元 代码的组织和部署
    1. 模块路径解析规则
      1. 内置模块
      2. node_modules目录
      3. 配置NODE_PATH环境变量
    2. 包(package)
      1. 讲解入口文件(index.js)
      2. 包管理文件(package.json)
    3. 命令行程序
      1. *nix系统下配置
      2. windows系统下配置
    4. 工程目录
      1. 梳理代码工程目录
    5. 总结
  4. 单元  深入NPM(nodejs包管理工具)
    1. 讲述npm功能及用法
      1. 简述npm是什么
      2. 如何下载第三方包
      3. 安装命令行程序
    2. 发布代码
      1. 配置npm账号
      2. 修改package文件必需字段发布代码
      3. 讲解版本号
    3. 扩展npm命令
      1. 常用命令介绍并且演示
    4. 演示node-inspector如何使用
  5. 单元 文件操作(一)
    1. 简易操作文件
      1. 小文件拷贝
      2. 大文件拷贝
    2. 文件数据
      1. Buffer(数据块)
      2. Stream(数据流)
    3. 文件系统
      1. File System(文件系统)
    4. 总结
  6. 单元  文件操作(二)
    1. path(路径)
      1. 常用api演示
    2. 遍历目录
      1. 递归算法
      2. 遍历算法
      3. 同步遍历
      4. 异步遍历
    3. 文件编码
      1. BOM的移除
      2. GBK转UTF8
      3. 单字节编码
    4. 总结
  7. 单元  网络操作(一)
    1. 启动服务
      1. 实现一个简单的http服务器
      2. 详解浏览器从输入url一直到页面展示的全过程
    2. http及https
      1. http内置模块
      2. 拆分http模块的实现原理,对request和response对象详解
      3. 对客户端nodejs进行演示,使用http.request配合cheerio模块抓去某个网站的内容
      4. https内置模块
    3. url及query string
      1. url内置模块
      2. query string内置模块
    4. 总结
  8. 第八单元 网络操作(二)
    1. zlib(数据压缩和解压)
      1. 数据压缩
      2. 数据解压
    2. net(Socket服务器或Socket客户端)
      1. 使用Socket搭建一个简单的HTTP服务器
      2. 使用Socket发起HTTP客户端
    3. socket.io模块讲解
      1. 通过引入socket.io模块配合nodejs实现数据双工通信
      2. 完成一个小的聊天室功能
    4. 总结
  9. 第九单元  进程管理 (一)
    1. 使用NodeJS调用终端命令
      1. 了解终端拷贝目录
      2. 使用NodeJS调用终端命令来简化目录拷贝
    2. process全局对象
      1. 常用属性讲解
      2. 常用方法讲解
      3. 常用事件讲解
    3. child_process创建和控制子进程
      1. child_process.spawn方法演示
      2. child_process.exec方法演示
    4. 多进程模块Cluster
      1. 讲解api用法
      2. 实现主线程随机分配给某个子进程
    5. 总结
  10. 第十单元 通过nodejs实现均衡负载
    1. 子进程实现http服务的启动,通过压力测试工具windows推荐用Apache ap进行测试
    2. 每次进行100条数据的并发请求,连续请求500次以上,然后验证几条子进程分配任务的量是多少
    3. 实现简单nginx服务搭建
    4. 通过nginx反向代理nodejs3-10个端口,实现服务器的负载均衡
  11. 第十一单元 进程管理(二)
    1. 应用场景
      1. 如何获取命令行参数
      2. 如何退出程序
      3. 如何控制输入输出
      4. 如何降权
      5. 如何创建子进程
      6. 进程间如何通讯
      7. 如何守护子进程
    2. 总结
  12. 第十单元 异步编程(一)
    1. 使用pm2来启动node程序
    2. 异步核心--回调
    3. es6 promise编程,对比回调的方式(>=node 6.0 )
    4. 手写promise讲解 promise编程思想
 
  1. 第十单元 异步编程(二)
    1. 代码设计模式
      1. 函数返回值
      2. 遍历数组
      3. 异常处理
    2. 域(domain)
      1. 理解“域”的概念
      2. 捕获全局异常的方法
      3. 尽早捕获异常
    3. 陷阱
      1. 讲述出现陷阱的原因
      2. 解决内存泄漏问题
    4. 总结
  2. 第十单元 express简单构建(基于nodejs的web框架)
    1. 认识express
    2. 安装express
      1. 安装并且构建一个项目目录
      2. hello world实例
    3. Express 应用生成器
      1. 安装依赖
      2. 启动(windows/mac下的区别)
    4. 总结
  3. 第十单元  express路由
    1. 简单配置一个express路由
      1. 路由是什么
      2. 讲解exprees中路由的构成
    2. 深入理解路由
      1. 路由方法
      2. 路由路径
      3. 路由句柄
      4. 响应方法
    3. 讲解app.route和express.Router
      1. app.route实例
      2. express.Router实例
    4. 使用中间件
      1. 应用级中间件
      2. 路由级中间件
      3. 错误处理中间件
      4. 内置中间件
      5. 第三方中间件
    5. 总结
  4. 第十单元 模板引擎加错误处理
    1. ejs模版引擎
      1. 安装ejs
      2. 配置ejs
    2. 模版引擎配合路由使用
      1. 搭建几个页面使用路由配置好
    3. 错误处理
      1. 错误处理中间件
      2. 缺省错误处理句柄
    4. 总结
  5. 第十单元 数据库
    1. 安装mysql
      1. 熟悉常用sql语句
    2. 使用nodejs连接mysql
      1. 连接并且查询数据库中的某条数据
    3. 配合express使用mysql
      1. 使用路由构建出登录页面
      2. 使用post请求并且读取数据库内容实现登录操作
    4. 总结
  6. 第十单元 后台模拟接口
    1. 模拟给出post请求
      1. 通过express路由模拟出post请求
      2. 前端通过ajax请求后台给出的接口
    2. 模拟跨域环境
      1. 通过express路由模拟给出jsonp数据
      2. 前端通过ajax发出跨域请求
    3. 深入演示讲解跨域问题
    4. 总结
  7. 第十单元 封装数据请求方法
    1. 避免使用$.ajax,根据需求封装数据请求方法
    2. 集合promise方法使用封装的数据请求方法进行数据请求
    3. node-fetch包的使用
  8. 二十单元 简单的静态文件合并服务器(案例
    1. 服务器支持类似以下格式的普通JS或CSS文件请求。
  
  1. 该服务器还需要支持类似以下格式的JS或CSS文件合并请求

      在以上URL中,??是一个分隔符,之前是需要合并的多个文件的URL的公共部分,之后是使用,分隔的差异部   分。因此服务器处理这个URL时,返回的是以下两个文件按顺序合并后的内容。
  1.           /public/bar.js
  2.           /public/bar.css