小菜

Results 51 comments of 小菜

@tsy77 在bootstrap阶段触发就是通过`process._tickCallback();`触发的,你可以查看一下./lib/internal/bootstrap/node.js的代码。只有在event loop中才会在c++中通过`InternalCallbackScope::Close `触发

@gnipbao 感觉这没啥可分析的啊。。。node源码层面涉及到的很少:开局一个uv_default_loop。。。后面全靠libuv。不过可以分析下lib库里面的[timers](https://github.com/nodejs/node/blob/master/lib/timers.js),进而延伸到libuv,等下下篇文章吧,哈哈,下篇要写什么我已经想好了。

@sunstdot ![image](https://user-images.githubusercontent.com/5475069/35086346-4ccb64c2-fc67-11e7-8555-0bc6ab2ba11e.png)

@Pines-Cheng console里面截图还方便。。。

@scliuyang 所有的ast traversal都差不多的,比如说你这个是拿到引用声明,应该是拿import中的声明,我猜的。。。你可以根据ast树来一点一点比对

赞同楼上的第一点,不赞同第二点。我可以用`require.main === module`来做出是否为node直接访问的判断,为何还要拆分出两个文件。

@XGHeaven 现在大部分CLI的架构基本都是类似[@oclif/command](https://github.com/oclif/command) ,单独开一个`run`方法然后在`./bin`目录下运行。但是在做Single-command CLI的时候,个人观点觉得还是`require.main === module`用的顺手,毕竟造自行车和造汽车没必要用相同的架构。

@XGHeaven 哦哦,那你和Hax说的情况是一致的。 > 你可以看下各大 cli 包,基本都是 cli 和 module 分成两个文件。 我刚才认为你说的情况是只针对node的。