export和exportation區(qū)別 深入理解node.js的module.export和export方法的區(qū)別?
深入理解node.js的module.export和export方法的區(qū)別? 模塊.exports是真正的界面,而導出只是一個輔助工具。呼叫的最終返回是模塊.exports不是出口。導出收集的所有屬性
深入理解node.js的module.export和export方法的區(qū)別?
模塊.exports是真正的界面,而導出只是一個輔助工具。呼叫的最終返回是模塊.exports不是出口。
導出收集的所有屬性和方法都分配給模塊.exports. 當然,這是有前提的模塊.exports它沒有任何屬性或方法。如果,模塊.exports如果您已經(jīng)有一些屬性和方法,則導出收集的信息將被忽略。
exports和module.exports的區(qū)別是什么?
把它放在一句話里,只需要能看到模塊.exports對于這個對象,我們看不到exports對象,但是我們在編寫模塊時使用的exports對象實際上只是用于模塊.exports參考。如果你能聽懂上面這句話,那么下面這句話就是胡說八道,你不需要讀它,因為它是用來解釋上面這句話的。R作為參考,可以用下面的例子來說明:R首先,讓我們來討論一個概念:R ECMAScript有兩種變量值類型:R primitive values:undefined,null,Boolean,number和string;R reference values:undefined,null,Boolean,number和string存儲在內(nèi)存中的對象不能直接操作,它們是只能由變量中存儲的地址引用操作。我們要談?wù)劤隹诤统隹谀K.exports它屬于對象類型和引用類型。R看下面的例子:[R
回到nodejs,模塊.exports最初,它被設(shè)置為{},導出也指向這個空對象。好吧,這樣寫沒關(guān)系,但這樣寫有區(qū)別:我明白了嗎?每個人節(jié)點.js可執(zhí)行文件自動創(chuàng)建模塊對象。同時,module對象創(chuàng)建一個名為exports的屬性,其初始化值為{}模塊.exports=11出口和出口模塊.exports指向相同的內(nèi)存塊,但request()返回模塊.exports不是出口。Var STR=“差異”導出。A=街道出口。B=function(){}為導出賦值實際上是模塊.exports此空對象僅添加兩個屬性。上面的代碼相當于:VAR STR=“difference”模塊.exports.a=strmodule.exports導出.b=函數(shù)(){}
Node.js模塊導出exports和module.exports的區(qū)別?
導出=模塊.exports這意味著出口實際上是指向模塊.exports的變量。
向?qū)С鎏砑訉傩圆粫绊懼赶颉?/p>
但是給導出賦值會直接改變它的方向。