1. 爱猫说设计师网首页
  2. 前端
  3. JS技术

Node 基础

12 - Node 基础

Node(或者说 Node.js,两者是等价的)是 JavaScript 的一种运行环境,是一个基于 Chrome V8 引擎建立的一个平台。由于采用了事件驱动、非阻塞 I/O 的模型,Node 能够成为了构建轻量且高效的 Web 应用的理想选择。万丈高楼平地起,掌握如何安装、模块机制、npm 工具链等基础知识对接下来 Node 的学习大有裨益。

知识点

  1. 安装
    • 各平台安装包
    • nvm
  2. 编辑器环境安装
    • VSCode
    • ESLint
    • Prettier
  3. 模块机制
    • CommonJS 规范
    • require、module 和 exports
  4. npm
    • 基本命令
    • package.json
    • 切换 npm 源
    • npm scripts
  5. 全局对象
    • process 对象
    • Buffer 对象
  6. 事件

实战教程


进阶

promises - Node 基础

异步编程

Node.js 为异步而生,这也是它处理数据密集型实时应用(Data-intensive Real-time,DIRT)如此高效的原因。从浏览器端 JS 发源而来的事件机制与回调函数,到 ECMAScript 隆重推出的 Promise,Node.js 实现异步逻辑的方式也越来越现代化。这一节中,你将学会 Node.js 实现异步逻辑的各种方式,并且学会通过性能测试的方式,让你的 Node 代码更加高效。

知识点

  1. 异步 I/O 与原生事件循环
  2. 回调函数,以及 async 库的优化
  3. Promise 与 async/await
  4. 性能测试与调优

实战教程

  • ✍️《Node.js 异步编程指北》🗝 知识点 1、2、3、4

express - Node 基础 koa - Node 基础

Web 后端开发

毫不夸张的说,Node 就是为 Web 而生的平台,其核心是由 Ryan Dahl 用 1500 行经过高度优化的 C 代码实现的流式 HTTP 解析器。如何用 Node 构建既健壮又高效的 Web 服务器应用,几乎是每个 Node 程序员的必修课。后端开发常用框架包括 Express 和 Koa,可任选其一进行学习。

知识点

  1. 路由的概念与定义
    • 路由的组成:HTTP 方法 + URI
    • 嵌套路由的实现
    • 动态路由的实现
  2. 中间件
    • 中间件的概念
    • 使用第三方中间件
    • 编写自定义中间件
  3. 模板引擎的使用
    • 模板引擎的语法(可选用 HandlebarsPug 等)
    • 在服务器框架中接入模板引擎,渲染页面
  4. RESTful API 的开发
    • 了解 HTTP 规范
    • 了解最常见的四个方法(GET、POST、PUT、DELETE)的含义
    • 在框架中响应不同的 HTTP 方法
  5. 关系型数据库的接入(例如 MySQL)
    • 连接数据库,包括鉴权与重连机制
    • 定义数据模型
    • 实现增删改查
  6. 文档型数据库的接入(例如 MongoDB)
    • 连接数据库,包括鉴权与重连机制
    • 定义数据模型
    • 实现增删改查
  7. 集成 Redis 数据库

mocha - Node 基础 chai - Node 基础 jest - Node 基础

自动化测试

自动化测试往往被忽视,但却是保障软件质量的关键一环。自动化测试解决了手工测试的繁琐、枯燥、易错的问题,让开发者能够专注于写出高质量的软件,同时也大大改善了团队协作的流程。自动化测试主要包括单元测试和集成测试(或称功能测试、验收测试等等),同时也涵盖了测试覆盖率、持续集成等知识点。

知识点

  1. 单元测试
    • 测试驱动开发(TDD)的概念
    • 行为驱动开发(BDD)的概念
    • 了解常用的测试框架(MochaJestJasmine 等等)
    • 了解常用的断言库(内置 assert 模块、Chaiunit.js 等等)
    • 利用测试框架和断言库为 Node 模块编写单元测试
  2. 集成测试
    • 了解浏览器自动化测试
    • 利用 Karma 或 Testcafe 进行集成测试
  3. 测试覆盖率
    • 了解测试覆盖率的意义
    • 通过 CodecovJest(自带)或 Istanbul 生成测试覆盖率报告
  4. 持续集成
    • 了解持续集成的意义
    • 了解常见的持续集成工具 / 平台(例如 Travis CICircle CI 或 GitHub Action
    • 配置持续集成,接入项目开发流程

实战教程

  • ✍️《一杯茶的时间,上手 Mocha 单元测试》🗝 知识点 1, 4
  • ✍️《一杯茶的时间,上手 Karma 浏览器测试》🗝 知识点 2, 4

socket.io - Node 基础

实时应用开发

🛠 筹备中,敬请期待

pm2 - Node 基础 docker icon - Node 基础 kubernetes - Node 基础

应用部署

🛠 筹备中,敬请期待

前沿

graphql - Node 基础 prisma - Node 基础 apollostack - Node 基础

GraphQL 服务开发

🛠 筹备中,敬请期待

参考资源

JavaScript 语言基础

🖥 网络资源:

  • 现代 JavaScript 教程:遵循最新的 JavaScript 语言标准,由浅入深,足够详细,插图精美丰富,还涉及了浏览器相关知识,适合刚了解 HTML 和 CSS 基础的同学学习,也适合老司机查阅和复习。
  • MDN – JavaScript 基础:权威的 JavaScript 文档,内容十分详细,涉及到前端开发的方方面面,适合查阅。
  • W3schools JavaScript 教程(英文):W3School 国内镜像站,内容简洁明了,包含大量可运行的实际代码片段,推荐零基础且英语较好的同学学习。
  • JavaScript Promise 迷你书:专注于讲透 JavaScript Promise 这个知识点,强烈推荐至今对 Promise 似懂非懂的同学学习。

📚 书籍推荐:

  • 《ECMAScript 6 入门》- 阮一峰:阮一峰老师开源的 JavaScript 语言教程,重在介绍 ECMAScript 6(简称 ES6)引入的新语法特性,推荐想要了解 ES6 新特性的同学学习。

HTTP 协议基础

  • MDN – HTTP 概述:权威的 HTTP 协议概述。
  • 十分钟搞懂 HTTP 和 HTTPS 协议:在让你快速了解 HTTP 协议的同时,也了解 HTTPS 出现的背景和意义。
  • 阮一峰 – HTTP 协议入门:阮一峰老师的 HTTP 协议介绍资料,具有不错的参考价值。

Node.js 理论

🖥 网络资源:

  • 狼叔:如何正确的学习 Node.js:讲解了 Node.js 的相关基础知识,还分享了自己的成长经历和求职指南。
  • Node.js 技术栈:涵盖了 JavaScript、ES6、Node.js、数据结构与算法、数据库、微服务、DevOps 等方方面面的知识。

📚 书籍推荐:

  • 《深入浅出 Node.js》- 朴灵:朴灵老师所撰 Node.js 理论进阶书籍,深入理解 Node.js 必备。

Node.js 应用

🖥 网络资源:

  • MDN Express 教程:通过搭建一个图书馆应用,讲解 Express 框架各方面的知识。
  • Koa2 进阶学习笔记:涵盖 Koa 2 的各方面使用,每个知识点都配有实例代码可供学习。

📚 书籍推荐:

  • Node.js 实战(第 2 版):结合大量实例介绍如何用 JavaScript 和 Node 创建高性能的 Web 服务器,涵盖异步编程、状态管理、事件驱动编程等关键设计理念,旨在帮助读者成功晋级全栈开发。

爱猫说是一个完全独立的媒体,运营只靠网络广告支撑,如果您支持爱猫说设计狮网的话,请对此网站关闭广告拦截功能(如:Adblock)爱猫说设计狮网衷心的感谢您。

本文来自投稿,不代表爱猫说设计师网立场,如若转载,请注明出处:https://www.imaoshuo.com/node-ji-chu/

发表评论

登录后才能评论