`require_table` 变量如何以及在何处存储? (蛋白石Rb)

How and where does the `require_table` variable get stored? (OpalRb)

所以,我最近通读了 require system of OpalRb,发现了有趣的 require_table 变量。阅读那里的方法,很明显 require_table 用于查看文件是否已经加载,对于 requireloaded 等方法。但是,我不确定这个变量是如何或在哪里存储的。一旦浏览器重新加载页面,opal/corelib/runtime.js 文件不会重新加载,从而重置 require_table 的值吗?我想我只是想更好地了解 require 如何与浏览器的动态配合使用。

要求 table 已定义 here 是的,重新加载浏览器时会重新加载运行时。这是正常的,因为整个 HTML 页面从头开始重新加载其所有资产,从而也重新加载 Opal 及其依赖项。

无论如何都不可能通过请求持久化活动对象,您能做的最好的事情就是持久化一些数据(例如使用 localStorage),但当然这与加载的库无关,充其量只能是用于保存请求(不要那样做!否则你会重新发明 HTTP 缓存)。