<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # 在 node 中,在不同的模塊中的相同模塊是否會重復加載? 如題, 如果現在有如下的模塊 ``` *—A *—B *—C *—D *—C ``` 如果在 B 中引用了 C 這個模塊,那么在 D 時,引用 C 這個模塊會引用 B 下的緩存還是重新引用 D 下面的 C? 另外 require 是根據什么來判斷是否從文件加載還是從緩存加載? * * * 好問題,看了下文檔:Cycles, Conflicts, and Folder Parsimony 參考這一節文檔:caching,可以看到如下內容: ~~~ Modules are cached after the first time they are loaded. This means (among other things) that every call to require('foo') will get exactly the same object returned, if it would resolve to the same file. ~~~ 最后一句話,有沒有幫助到你? * * * 昨天剛好看了 @樸靈大大《node.js 深入淺出》關于模塊加載這部分,針對你的問題回答如下: Node 中引入模塊,需要經歷 3 個步驟:(1)路徑分析,(2)文件定位,(3)編譯執行 為了減少二次引用時的開銷,Node 對引入過的模塊都會進行緩存,緩存的是編譯和執行后的 `對象`。 > 不論是核心模塊還是文件模塊,`require()`方法對相同模塊的二次加載都一律采用緩存優先的方式,這是**第一優先級**的。 那么 “`require` 是根據什么來判斷是否從文件加載還是從緩存加載?” > 每一個編譯成功的模塊都會將其文件路徑作為索引緩存在`Module._cache`對象上,以提高二次引入的性能。 所以通過`require`引入一個模塊時,Node 會先去檢查緩存中有沒有,即檢查`Module._cache`對象里是否有要引入模塊的文件路徑,有,則從緩存加載,沒有則從文件加載。 從而,在不同路徑下的同一個模塊會被 Node 認為是不同的模塊。 ps. 這本書真的很不錯,推薦看看~模塊加載這部分在 p15-p20 [Node.js 模塊系統(Node.js 自學第四天)](https://juejin.im/post/5ddb6a3251882572fe6edf61)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看