第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在node中,在不同的模塊中的相同模塊是否會重復加載?

在node中,在不同的模塊中的相同模塊是否會重復加載?

瀟湘沐 2019-04-13 08:36:35
如題,如果現(xiàn)在有如下的模塊ABCDC如果在B中引用了C這個模塊,那么在D時,引用C這個模塊會引用B下的緩存還是重新引用D下面的C?另外require是根據(jù)什么來判斷是否從文件加載還是從緩存加載?
查看完整描述

2 回答

?
慕斯709654

TA貢獻1840條經(jīng)驗 獲得超5個贊

針對你的問題回答如下:Node中引入模塊,需要經(jīng)歷3個步驟:(1)路徑分析,(2)文件定位,(3)編譯執(zhí)行為了減少二次引用時的開銷,Node對引入過的模塊都會進行緩存,緩存的是編譯和執(zhí)行后的對象。不論是核心模塊還是文件模塊,require()方法對相同模塊的二次加載都一律采用緩存優(yōu)先的方式,這是第一優(yōu)先級的。那么“require是根據(jù)什么來判斷是否從文件加載還是從緩存加載?”每一個編譯成功的模塊都會將其文件路徑作為索引緩存在Module._cache對象上,以提高二次引入的性能。所以通過require引入一個模塊時,Node會先去檢查緩存中有沒有,即檢查Module._cache對象里是否有要引入模塊的文件路徑,有,則從緩存加載,沒有則從文件加載。從而,在不同路徑下的同一個模塊會被Node認為是不同的模塊。
查看完整回答
反對 回復 2019-04-13
?
哈士奇WWW

TA貢獻1799條經(jīng)驗 獲得超6個贊

好問題,看了下文檔:Cycles,Conflicts,andFolderParsimony
參考這一節(jié)文檔:caching,可以看到如下內容:
Modulesarecachedafterthefirsttimetheyareloaded.Thismeans(amongotherthings)thateverycalltorequire('foo')willgetexactlythesameobjectreturned,ifitwouldresolvetothesamefile.
最后一句話,有沒有幫助到你?
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 371 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號