用过express写过两个很小的项目,但是对于nodejs本身了解的很少。每次想要好好的学习下nodejs,然而点开文档,随便找一个模块都发现api这么多。 在这么多的api当中,如何选择最常用的。
最常见的学会后,其他的用到什么学什么 看看文档就会了
我年轻的时候也以为要熟知每一个api的用法,后来工作了才知道,其实很多东西你不需要会,只要用到了的时候你知道怎么去找就ok了
楼上说的很对
单纯的去学习API和背是很枯燥的,通过项目多实践,把API当工具在需要的时候去查询,效果可能更佳。
对绝大部分新手来说,快速过一遍 http / process / fs / path / url / os
大概知道它们是干嘛的,剩下的去找就行了。
甚至你如果是做 Web 开发的话,用框架的情况下,你可能只需要懂 http/fs/path/url
这几个就够了。
我个人的习惯是,所有的 API 我都会过一遍,大概知道有什么,不求全部理解透,只要求大概有个印象,知道它的定位,然后有需要的时候查就好了。
阅
@atian25 好的,受教了
哈哈,这也正是我的疑问,貌似api先过一遍比较好,知道有这个么东西,然后项目中用到哪个就去熟悉哪个。
@atian25 那node 的难度是什么呢
要想深入使用Node,最终肯定是要完整刷一遍的,而且要随时关注Node和V8的开发动态,了解新的变动和特性。
@ResJay 后端知识。
@ResJay 对于开发前端偏多的人来说可能是后端知识,但对于后端来说后端知识是属于通用的那一块。而针对node难度,我认为主要集中在避免写坑和解决坑的能力上。
比如很多新手写一个大循环导致node队列阻塞,比如闭包里面定义的数组不断增加导致内存泄露。再比如对node不了解,你删除了require.cache就认为删除了这个引用链,最终导致内存泄漏。再比如有人认为node的宏微任务运行顺序和浏览器一致,但是在node一些版本中又不是这样导致预期结果不一致的差异问题。
这些都是node的难度部分,而api上反倒同意@zengming00 的观点。
很多新手写一个大循环导致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吧