【Node】node启动过程
node_main.cc(入口)
1、node.cc
? ? ? 啟動v8,創建process(實現JSNI),加載core內核,啟動uv
2、node.js(node內核)
? ? ? (1)加載evals模塊(C++)?process.binding('evals')
? ? ? (2)預加載內置的JS模塊 ?process.binding('natives')
? ? ? (3)搭建應用核心
? ? ? ? ? ? ? ?startup.processFatal();
? ? ? ? ?? ????startup.globalVariables();
? ? ? ????? ???startup.globalTimeouts();
? ? ? ???? ????startup.globalConsole();
? ? ? ???? ????startup.processAssert();
? ? ? ??? ????startup.processConfig();
? ? ? ?? ?? ??startup.processNextTick();
??? ???? ?? ?startup.processStdio();
? ??? ????? ?startup.processKillAndExit();
? ??? ?? ??? ?startup.processSignalHandlers();
? ???? ????? ?startup.processChannel();
? ? ?? ?? ?????startup.resolveArgv0();
? ? ? (4)入口解析
? ? ? ? ? ? ? ? ? ?(1)_third_party_main模塊(內置JS)
? ? ? ? ? ? ? ? ? ?(2)debug參數:_debugger模塊
? ? ? ? ? ? ? ? ? ?(3)-e/--eval參數:evalScript
? ? ? ? ? ? ? ? ? ?(4)mainModule:主模塊
? ? ? ? ? ? ? ? ? ?(5)命令行:repl模塊
? ? ? ? ? ? ? ? ? ?(6)監聽stdin
總結
以上是生活随笔為你收集整理的【Node】node启动过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的sublime配置
- 下一篇: 【Node】node的模块