nodejs的api这么多,在学习的过程中应该如何有的放矢。
发布于 3 个月前 作者 WUSO01 1397 次浏览 来自 问答

用过express写过两个很小的项目,但是对于nodejs本身了解的很少。每次想要好好的学习下nodejs,然而点开文档,随便找一个模块都发现api这么多。 在这么多的api当中,如何选择最常用的。

17 回复

最常见的学会后,其他的用到什么学什么 看看文档就会了

我年轻的时候也以为要熟知每一个api的用法,后来工作了才知道,其实很多东西你不需要会,只要用到了的时候你知道怎么去找就ok了

单纯的去学习API和背是很枯燥的,通过项目多实践,把API当工具在需要的时候去查询,效果可能更佳。

对绝大部分新手来说,快速过一遍 http / process / fs / path / url / os 大概知道它们是干嘛的,剩下的去找就行了。 甚至你如果是做 Web 开发的话,用框架的情况下,你可能只需要懂 http/fs/path/url 这几个就够了。

我个人的习惯是,所有的 API 我都会过一遍,大概知道有什么,不求全部理解透,只要求大概有个印象,知道它的定位,然后有需要的时候查就好了。

image.png

@atian25 好的,受教了

哈哈,这也正是我的疑问,貌似api先过一遍比较好,知道有这个么东西,然后项目中用到哪个就去熟悉哪个。

@atian25 那node 的难度是什么呢

要想深入使用Node,最终肯定是要完整刷一遍的,而且要随时关注Node和V8的开发动态,了解新的变动和特性。

@ResJay 对于开发前端偏多的人来说可能是后端知识,但对于后端来说后端知识是属于通用的那一块。而针对node难度,我认为主要集中在避免写坑和解决坑的能力上。

比如很多新手写一个大循环导致node队列阻塞,比如闭包里面定义的数组不断增加导致内存泄露。再比如对node不了解,你删除了require.cache就认为删除了这个引用链,最终导致内存泄漏。再比如有人认为node的宏微任务运行顺序和浏览器一致,但是在node一些版本中又不是这样导致预期结果不一致的差异问题。

这些都是node的难度部分,而api上反倒同意@zengming00 的观点。

@zy445566

很多新手写一个大循环导致node队列阻塞,比如闭包里面定义的数组不断增加导致内存泄露

这块属于 JavaScript 知识

对node不了解,你删除了require.cache就认为删除了这个引用链,最终导致内存泄漏。

这块属于「热更新」等后端应用的场景在 Node 下的方案选择,以及 后端应用 APM 监控在 Node 这块的配套系统选择。

首先需要知道后端知识里面有哪些东西,然后每一个对应的在 Node 这块是怎么样的

@atian25 这就有点牵强了,学习node难道不用学习js?这个删除require.cache问题跟node知识无关?

首先需要知道后端知识里面有哪些东西,然后每一个对应的在 Node 这块是怎么样的

那么这句话的关联点在哪?有具体的例子么?

我并不是在反驳你的观点,我们的观点并没有冲突。

我的意思是:

  • 学习 JavaScript 是 Node 的前置技能点,我觉得不应该算在 Node 的难点里面吧。
  • 第二句的意思是,Node 本身的 API 其实很简单,就那么些。我认为 Node 在开发后端应用的时候的难点,一个在于你要知道后端有哪些知识,一个在于这些知识在 Node 里面是怎么样落地的(如一些场景下,Java 那边开线程就能解决了,而 Node 不能这么干,我曾经见过一些 Java 出身的人,把 cluster 活生生用成线程的惨况)

@atian25 我想问这个截图的工具是什么,看起来很好用的样子

@yunyu950908 Alfred和dash吧

回到顶部