簡體   English   中英

如何要求將node.js模塊放入緩存而不執行?

[英]How to require a node.js module into cache without execution?

是否可以在不執行的情況下將node.js模塊加載到緩存中? 我想將require.main更改為對緩存文件進行測試\\調試,然后再執行。

您可以直接將模塊名稱存儲在變量中,然后創建一個名為executeModule function(moduleName) {var modules[moduleName] = require(moduleName);}

沒有真正的方法來包含模塊,但不要將其稱為構造函數。 有幾個模塊需要您自己調用,但大多數模塊會自動調用它。

如果您指的是內部模塊緩存:否,這是不可能的。 Node.js緩存模塊的導出,這只能通過執行模塊來獲得。

您可以通過加載模塊代碼並在自定義上下文中執行代碼來攔截模塊執行(請參閱vm module )。 但是,您將需要解決所有可能(並將發生)的問題。 我想這真的很丑。 因為您可以完全控制模塊范圍,所以這可能是一種解決方案。 例如,您可以定義自己的require()require.mainmodule 我從未嘗試過,但這是我唯一能想到的方法。

根據您的要求,可能僅調用一個新的node.js進程來執行另一個模塊(將是require.main )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM