最开始我以为,V8引擎需要runtime(也就是deno)来实现 import
和 require
关键字,这样V8运行的时候就可以调用注册的函数来解析和运行modules。
但最近读了 Internals of Deno 这本书,尤其下面两节:
- 5.12 Module graphs
- 5.15 Register / compile module
根据我的理解,似乎在 5.12 这一步 deno 可能只是处理了 deno.json
或 package.json
中声明的 dependencies,即:下载它们、生成本地的cache(可以直接被V8引擎运行的 js 代码)。然后在 5.15 这一步 deno 才真正的加载这些cache并且在 V8引擎里去跑。
我不是很确定我的理解是否正确?