博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js 学习方法指北
阅读量:6555 次
发布时间:2019-06-24

本文共 1354 字,大约阅读时间需要 4 分钟。

引: 当我们开始学习 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

你可能感兴趣的文章
计算机应用一级B考试专题整理三
查看>>
bzoj 2762: [JLOI2011]不等式组——树状数组
查看>>
uva 437,巴比伦塔
查看>>
利用FFmpge进行视频解码(从H264视频流到图像)
查看>>
P51、面试题5:从尾到头打印链表
查看>>
有关一些 c++ cmath 库中的函数的精度问题
查看>>
HTML Input Text cursor position control
查看>>
阿里云应用安装 小记
查看>>
The Google File System(前五章,翻译的略乱)
查看>>
RUP 迭代开发计划的两种方法
查看>>
PHP中static关键字
查看>>
python处理xml实例
查看>>
从《一生所爱》到《世间始终你好》
查看>>
UIStackView相关
查看>>
数据库
查看>>
20145240问卷调查
查看>>
[linux] uptime 命令中关于平均负载的解释
查看>>
Algs4-1.4.25扔两个鸡蛋
查看>>
Algs4-2.4.22调优先队列的整数组大小
查看>>
设计模式之建造者
查看>>