# Node.js 开发技能图谱

## Node.js 语言环境搭建

- Node.js 安装(3m大法:nvm、npm、nrm)
- Node.js 命令
- Node.js开发工具(推荐vscode)

## Node.js 语言编程要点

- 使用Node.js 4.x或5.x里的ES 6特性,如果想玩更高级的,可以使用[babel](babeljs.com)编译支持ES 7特性
- 合理使用[standard](https://github.com/feross/standard) 代码风格约定
- ES 6语法
- 需要大家重视OO(面向对象)写法的学习和使用

## 核心模块

- Buffer
- Child Processes
- Cluster
- Crypto
- DNS
- Domain
- Events
- File System
- HTTP
- HTTPS
- Net (TCP)
- OS
- Path
- Process
- Punycode
- Query Strings
- Readline
- Stream
- String Decoder
- TLS/SSL
- TTY
- UDP
- URL
- VM
- ZLIB

## Koa Web 编程

- koa 1.0 && 2.0 (koa2.0刚发布不久,喜欢折腾的可以考虑)
- mongoose(mongodb)
- bluebird(Promise/A+实现、Generator、Async)
- jade(视图层模板)
- ava(测试)
- vscode(调试)

### 了解http协议,尤其是表单和ajax传值,在req里如何接收

- 绝对地址和相对地址
- querystring
- url 和 uri
- http status code
- http verbs
- req取参数的3种方法
- 3种不同类型的post
- 命令行玩法
- supertest用法
- what is rest?

### 了解db相关操作,先以mongoose为主

- crud(增删改查)
- 了解分页
- 了解关系(1对1,1对多)在mongoose里如何实现
- 了解statics方法和methods的区别
- 了解pre和post的差别
- 了解mongoose的插件机制
- 了解mvc里m的作用,以及什么样的代码该放到模型里
- 了解索引优化
- 了解mongodb的部署

### 了解Generator、Async和Promise/A+规范,合理规避回调陷阱

- 了解的node的异步、generator和async(ES7)
- 了解异步的恶心
- 了解异步基本场景,比如waterfall这样的路程使用async如何处理
- 了解q和bluebird用法(如果有angularjs经验,推荐q,其他只推荐bluebird)
- 了解bluebird的promisifyAll用法
- 了解如何重构流程,以及代码的可读性

### 使用tdd/bdd测试,最小化问题

- 理解最小问题思想,培养程序员该有的强大的内心
- ava的基本用法
- 理解断言的用法(注内置断言,不需要assert/should/expect等)
- 理解测试生命周期
- 理解箭头函数、generator、promise等用法
- 理解如何模拟数据
- 理解http下的supertest测试
- 理解测试覆盖率
- 理解基于gulp自动化测试方法

### 你无论如何都要会的:调试

- node debug(太挫了,如果不是c,了解gdb、adb之类的人不推荐用)
- node-inspector(推荐4※)
- tdd/bdd(推荐5※)
- vscode编辑器(推荐5※)

## Node.js 应用

- 网站(如express/koa等)
- im即使聊天(socket.io)
- api(移动端,pc,h5)
- http proxy(淘宝首页)
- 前端构建工具(grunt/gulp/bower/webpack/fis3...)
- 写操作系统(NodeOS)
- 跨平台打包工具(nw.js、electron)
- 命令行工具(比如cordova)
- 编辑器(vscode)

## Node.js 实战案例

Node.js 开发技能图谱相关推荐

  1. 2021年Node.js开发人员学习路线图

    Node.js 自发布以来,已成为业界重要破局者之一.Uber.Medium.PayPal 和沃尔玛等大型企业,纷纷将技术栈转向 Node.js.Node.js 支持开发功能强大的应用,例如实时追踪 ...

  2. 腾讯高级工程师带你完整体验Node.js开发实战

    前几天,跟我一朋友聊天,他现在是阿里的架构师,说:「他们根本不知道,现在的电商大促有多么依赖 Node.js.」 说真的,我倒并不意外.作为一个定位明确的高性能 Web 服务器,Node.js 目前非 ...

  3. 2021 年 Node.js 开发人员学习路线图

    前言:总有小伙伴问 Node.js 如何深入学习,本文是一个不错的学习大纲. Node.js 自发布以来,已成为业界重要破局者之一.Uber.Medium.PayPal 和沃尔玛等大型企业,纷纷将技术 ...

  4. 10个Node.js 开发人员必须使用的IDE

    英文 | https://javascript.plainenglish.io/top-10-best-node-ide-every-developer-must-check-out-96a69950 ...

  5. 《Node.js开发指南》书评汇总

    刚查了下库存,发现订阅<Node.js开发指南>的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ------------------------- ...

  6. 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]

    电脑如何搭建Node.js开发环境?近日有用户询问怎么在Win7系统电脑上搭建Node.js开发环境,今天教程之家就给大家分享Node.js开发环境的搭建教程. 操作步骤: 1.下载Node.js官方 ...

  7. 区块链】利用Node.js开发与合约交互的Web界面

    区块链]利用Node.js开发与合约交互的Web界面 2018-03-11 16:10:37 宣之于口 阅读数 6128  收藏 更多 分类专栏: 区块链 区块链学习笔记 版权声明:本文为博主原创文章 ...

  8. 83998 连接服务器出错_新生福利 | 使用 Node.Js 开发服务器

    点击蓝字关注,创智助你长姿势 Node.js 是一个 Javascript 运行环境 (runtime),发布于 2009 年 5 月,由 Ryan Dahl 开发.实际上它是对 Google V8 ...

  9. Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)

    2019独角兽企业重金招聘Python工程师标准>>> 学习架构: 由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上.如 ...

最新文章

  1. Trip to Saint Petersburg CodeForces-1250 C
  2. 2018-2019-1 20165234 实验三 并发程序
  3. Linux查看CPU相关信息
  4. 换64位Win7了,感觉还行
  5. 数学之路(2)-数据分析-R基础(5)
  6. Mybatis-Helloword
  7. say小组KTV点歌系统简介
  8. js 1000+简写为K,10000+简写为W
  9. HTML 最常用的标记
  10. 【转】TranslateAnimation详解
  11. Go语言并发编程简介
  12. OpenGL基础21:材质
  13. Python面向对象加强2.Python 中类的内置属性和内置方法(魔法函数)
  14. 中国雅虎邮箱一键迁移到网易邮箱教程
  15. 中国银行软件中心信息技术岗(北京 )面试
  16. Java实现医疗系统
  17. Azure NSG(安全组)
  18. 今日分享—————论成长性思维对人的重要性
  19. 前端不错的相关网站和论坛
  20. meta camp+21春季PAT乙级反思

热门文章

  1. EasyCode.Net代码生成器使用心得
  2. 实习技术员的基本功(十一)
  3. 库存处理(第一次做库存,希望让需要者帮助得到帮助,让有经验者提出指导)...
  4. 装饰器模式 decorator
  5. 蓝桥杯第六届省赛JAVA真题----垒骰子
  6. EasyExcel项目使用
  7. python输入输出代码_python基本输入输出代码示例
  8. Mysql 函数入门
  9. 通信系统概论_现代通信系统概论 第一章 概述(1)
  10. 2021下午茶数字经济蓝皮书