在浏览器中,解析DOM,并按照定义的顺序加载和解析脚本。
在Node.js中,脚本如何加载到内存中?
每个文件中的require
语句定义的脚本的整个图形是否在初始化时遍历,结果对象和值是否为堆栈和堆准备好以便开始执行?
答案 0 :(得分:4)
同步进行。每当遇到require
时,它会同步加载脚本并运行它 - 然后,当找到其他脚本时,它会同步加载它们。
IIRC在0.2天内有一个异步版本,但它已经很久没有了。至于它实际上做了什么:
基本上,它的作用是fs.readFileSync
。
更具体地说 - 呼叫require
来电_load
,然后先checks the cache,然后creates the module,然后calls the relevant extension。由于允许多个扩展名(例如.json
),因此在.js
案例中加载每个扩展名的情况不同,这种情况通常只调用fs.readFileSync
然后调用compiles it(其中Apache 2.4
涉及包装,注入导出并运行它。)