🦄 2024 独立开发者训练营,一起创业!(早鸟优惠在6天后结束)查看介绍 / 立即报名 →

Node.js:应用开发学习路径

你想了解一项新技术,如果发现宁皓网有相关课程, 一定要从宁皓网开始:)下面是一个 Node.js 应用开发的学习路径,视频里出现的每一行代码,都亲手敲几遍。

准备

Node.js 就是让你用 JavaScript 语言开发应用,所以在学 Node.js 之前最好先了解一下 JavaScript 语言本身。先完成下面这两个课程。

  1. JavaScript 基础
  2. ES6 / ES2015

工具

先准备一个编辑代码用的工具,可以使用 Atom。有些操作需要在命令行界面下完成,比如去为项目安装 Package,所以可以先熟悉一下在命令行。命令行界面 macOS 用户可以使用自带的终端,Windows 用户去安装一下 Cmder。系统的包管理工具可以方便的安装软件,macOS 上用 Homebrew,Windows 可以用 Chocolatey。

不用单独学这些工具的使用技巧,比如不用记住太多编辑器的快捷键,用到的时候再去查就行了。不要因为这些分散注意力,影响心情。先准备好这些工具就行,用法都非常简单。

Windows

  1. Cmder
  2. Chocolatey

macOS

  1. Atom 编辑器
  2. 终端 Terminal
  3. 终端的提示符
  4. Homebrew

开始

你有了 JavaScript 语言的基础,准备好了需要的工具,现在就可以正式开始学习 Node.js 了。Node.js 就是把 JavaScript 语言从浏览器里搬了出来,让你可以用它创建后端应用或者桌面应用。

1. 起步

先了解一下 Node.js 的基本用法。

  1. 管理安装在系统上的 Node.js
  2. 创建 Node.js 项目
  3. 使用不同版本的 Node.js
  4. 使用模块
  5. 使用内置的 Node.js 模块
  6. 安装第三方 Node.js 模块
  7. 使用第三方 Node.js 模块
  8. 创建与使用自定义 Node.js 模块
  9. nodemon:监视应用的变化自动重启应用
  10. Node.js 项目的版本控制

2. 核心

Node.js 本身有一些模块,这些模块提供了不同的功能。我们先来了解几个 Node.js 核心自带的有代表性的东西。学会了这些,你就可以很容易学会使用其它的模块。

  1. 准备
  2. Events
  3. 使用事件:EventEmitter
  4. 事件的参数
  5. 只执行一次的事件监听器
  6. 得到文件与目录的信息:stat
  7. 创建一个目录:mkdir
  8. 创建文件并写入内容:writeFile, appendFile
  9. 读取文件里的内容:readFile
  10. 列出目录里的东西:readdir
  11. 重命名目录或文件:rename
  12. 删除目录与文件:rmdir, unlink
  13. 读取文件流
  14. 可读流的事件
  15. 可写的文件流
  16. pipe
  17. 链式使用 pipe
  18. request
  19. 利用请求回来的数据
  20. 创建服务器

3. 包管理

Package,包。很多地方都有 Package 这个概念,在 Node.js 这里,Package 指的是一些功能模块。社区成员做了很多 Package,提供了各种功能,你可以在 npmjs 网站上找到这些包。包管理工具可以帮我们管理安装的这些包。

  1. 安装与升级 npm
  2. 在全局范围内安装与删除包
  3. 在本地项目内安装包
  4. 安装指定版本的包
  5. npm 配置文件:package.json
  6. 使用 packge.json
  7. 更新本地安装的包
  8. 使用快速的安装源:nrm

4. Express

Express 是一个非常受欢迎的包,可以用它创建 Web 应用。

  1. 准备
  2. 安装 express
  3. Express 应用
  4. 创建一个 Express 应用
  5. 使用 Middleware:中间件
  6. 使用 Views:视图
  7. 定义 Route:路由
  8. 发表评论
  9. 显示评论列表

5. Socket.io

用 Node.js 创建实时的应用,需要用到 Socket.io。

  1. 准备视图
  2. 集成 Socket.IO
  3. 连接与断开
  4. 发送接收事件与数据
  5. 广播

6. MongoDB 数据库

MongoDB 数据库跟 Node.js 配合的很好,先花点时间了解一下这种 NoSQL 的文档类型的数据库。

  1. 创建一个 mongo 容器
  2. 与数据库交互的界面:mongo shell
  3. 插入文档:insert
  4. 修改文档:update
  5. 删除文档:remove
  6. 查询文档
  7. 查询文档并限制返回的字段
  8. 指针方法:跳过, 限制, 排序
  9. 查询操作符
  10. 查询操作符:包含与不包含 - $in 与 $nin

7. Node.js 与 MongoDB

了解了 MongoDB 本身的用法,下面可以学习怎么样让它跟 Node.js 配合在一起工作。我们会用代码去操作数据库。把应用需要的数据存储在数据库里,或者从数据库里读取需要的数据。

  1. 安装 MongoDB
  2. MongoDB 图形化管理软件 Robo 3t
  3. Mongoose
  4. 连接到 MongoDB 数据库
  5. Schema 与数据模型
  6. 使用模型把数据保存到数据库里
  7. 读取数据库里的数据
  8. insertMany:同时插入多个文档
  9. 查询
  10. 更新
  11. 删除

8. RESTful 接口

你需要创建前端应用或者移动端的应用,你需要一个后端服务接口为应用提供数据,或者处理从前端或者移动端发送到后端的数据。这个接口有一种风格就是 RESTful。

  1. 用 Express 创建服务器
  2. 路由 Routes
  3. 控制器 Controllers
  4. 资源列表接口:GET api/events
  5. 创建资源接口:POST api/events
  6. 单个资源接口:GET api/events/:id
  7. 单个资源更新接口:PATCH api/events/:id
  8. 单个资源删除接口:DELETE api/events/:id

9. JWT:JSON Web Token

一种身份验证的方法。

  1. JWT:JSON Web Token
  2. JWT 的组成
  3. 创建与签发 JWT
  4. 验证与解码 JWT
  5. 用 RS256 算法签发 JWT
  6. 用 RS256 算法验证 JWT

10. 基于 Token 的身份验证

使用 JWT 这种 Token,在 Node.js 应用里实施验证用户身份的方法。

  1. 身份验证
  2. 准备
  3. 用户模型
  4. 用户路由与控制器
  5. 注册用户
  6. hash 用户密码
  7. bcrypt:加 salt 的 hash
  8. 存储 hash 之后的密码
  9. 身份验证与签发 Token
  10. 身份验证的 Middleware

11. 上传文件

了解一下怎么样在 Node.js 应用里处理文件的上传。

  1. 准备项目
  2. 上传单个文件
  3. 上传多个文件
  4. 文件上传过滤器
  5. Promise,async,await 应用案例:Loki 数据库
  6. 请求上传的资源

12. 测试

测试应用可以正常运行。

  1. 安装与准备
  2. mocha:测试框架
  3. mocha:安排测试之前与之后要做的事
  4. chai:断言库
  5. chai:should 风格的断言
  6. chai:expect 风格的断言
  7. 写一个测试
  8. 让测试通过
  9. 测试异步的方法:setTimeout
  10. 测试异步的方法:http
  11. 测试方法的异常
  12. Sinon:Spies 跟踪函数的调用
  13. Sinon:Stubs 模拟函数的行为
Node.js 路径

评论

这套课程可以的,很强大

找时间看看吧 :)

会的,皓哥,我跟源泉一起开公司了,嘿嘿,需要不断在你的网站学习技术啊

加油干 :)

一直都有认真看,感觉是不是少了一个完整的项目?用来贯穿所有知识点呢?

可以有 :)

我终于发现了少了一讲角色的权限管理

以后可以补上 :)

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点