Node.js 学习方法指北

引: 当我们开始学习 Node.js ,一定会不可避免的被好多资料直接带入到某个情景,各种入门和资料一定已经让很多小白觉得无从下手,授人以鱼不如授人以渔,本文是从个人经历来给小白做一种指向,如何认识 Node.js ,以及入手 Node.js。

一、 Node.js 特点

1. Node.js是当前(2018)大前端的基础设施。前端的开发过程,模块化,构建,辅助工具,调优,架构调整,可以说对于现在的前端来说Node.js是无处不在的。

简单来说 Node.js 有以下几个特点: 单线程、异步I/O、事件驱动;(相关的特性介绍文章非常多,本文不多做赘述) 基于以上特点,总的来说,Node.js 适合以下场景(特性):

  • (1)实时性应用,比如在线多人协作工具,网页聊天应用等。
  • (2)以 I/O 为主的高并发应用,比如为客户端提供 API,读取数据库。
  • (3)流式应用,比如客户端经常上传文件。
  • (4)前后端分离。

实际上前两者可以归结为一种,即客户端广泛使用长连接,虽然并发数较高,但其中大部分是空闲连接。

二、 Node.js 学习方法

1. 当我们去学习 Node.js ,首先应该认识到它是一门语言,而且是一门后端语言。它有自己的适应场景也要自己的不足。单从学习的角度,应该划分为三部分来看:
  • (1) Node.js 的表象: ECMA规范;

对于前端来说,ECMA规范属于必修课,对于后端同学来说可能会相对陌生,但是如果我们把js应用在服务端场景,很多写法和规范一定要遵从语言本身的具体规范。规范中有几百条规则,我们并不必熟记所有规则,而应该有查询规范手册的能力,比如设计 js 中常见的 "==" 比较,设计具体哪些条目和规则,我们应该可以落实到手册的条目快速查询到我们想要的结果。同时我们也知道JS的发展非常迅速,目前ES5, ES6, ES7语法现在都已经被 Node.js 的最新稳定版支持,可以直接使用我们在前端编程中的 const, let ,awync ,await等语法。

  • (2) Node.js api:

学习语言必然绕不过对应的 api,我们大多只需要记住并熟练使用常用的一些api和模块即可,其余的就仰仗实时翻阅 Node.js 文档,以及关注 Node.js 新版本发布时候的 Changelog,尤其是那些 Notable changes。

  • (3)表象到内里: 进阶

学习的最终是为开发服务,利用 Node.js 做企业级开发的时候,还需要某些前置知识: 比如数据库,数据量到一定程度,分表分库数据分离 如何更好的设计数据库,表/索引设计;同时,我们在服务端应当更有一些后端思维和代码抽象:包括但不限于安全、编程基本功--设计模式和数据结构和算法、服务化、性能和服务器压力。

三、 总结

1. ECMAScript是根基,知晓操作符在语言内部的执行流程

2. 熟悉基本api,掌握快速开发能力

3. 熟悉生态圈,对于生态圈各种库有理解

4. 异步编程大坑(同时也是特性)

5. 熟悉后端开发的体系,结合 Node.js 从几方面去考虑,安全,性能,结构分层,数据库

转载于:https://juejin.im/post/5be2a9d2f265da6116394381

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值