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