站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        本篇文章給大家?guī)淼膬?nèi)容是關(guān)于exports和module.expors之間有什么區(qū)別及聯(lián)系?有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助。

        我們在模塊化開發(fā)中,必須會用到exports/module.exports這兩個(gè)玩意導(dǎo)出變量或者函數(shù)。因?yàn)槟K化開發(fā)中的每個(gè)模塊都有自己的模塊作用域。
        比如:

        //a.js var foo = '蘇小貓'
        //b.js console.log(foo)

        我們在b.js中是沒辦法訪問到a.js中的foo變量,所以b.js輸出的是“undefine”。如果我們想在b.js模塊中訪問a.js中的foo變量,我們必須在a.js中用exports或者module.exports導(dǎo)出foo變量。
        比如

        //a.js var foo = '蘇小貓';  module.exports = foo;
        //b.js var foo = require('./b.js');  console.log(foo);

        exportsmodule.expors的關(guān)系和區(qū)別?

        在開發(fā)中,我們很糾結(jié)到底用exports還是module.exports,其實(shí)exports跟module.exports就是一個(gè)玩意,exports只是module.exports的一個(gè)引用。exports跟module.exports是等價(jià)的。我們可以在node里測試一下。

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        每個(gè)模塊最終返回的還是return module.exports;

        在我們平常的理解中導(dǎo)出單個(gè)變量或者單個(gè)函數(shù)就用module.exports;

        module.exports = function(){     console.log("在你心里種點(diǎn)Bnum") }  //我們r(jià)equire之后就會得到一個(gè)[Function]

        導(dǎo)出多個(gè)變量就用exports;

        exports.name = "蘇小貓" exports.tree = function(){     console.log("在你心里種點(diǎn)Bnum") } //我們r(jià)equire之后就會得到一個(gè)對象{name:"蘇小貓",tree:[Function]}

        exports和module.exports本身就是一個(gè)空對象,exports.xxx就等于在一個(gè)對象里面添加?xùn)|西。

        為什么module.exports導(dǎo)出的是單個(gè)?

        因?yàn)樗緛硎且粋€(gè)空對象,module.exports=xxx。現(xiàn)在你重新給它賦值了,所以它只導(dǎo)出這個(gè)xxx。

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        如果給exports(exports={})重新賦值,這時(shí)它的意義就不同了;現(xiàn)在的exports,跟module.exports沒有了半毛錢的關(guān)系了,exports.xxx = xxx;再往里面添加?xùn)|西已經(jīng)不會再影響最后返回回來的return module.exports了。

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        看,現(xiàn)在age已經(jīng)不進(jìn)入最后的return module.exports里面了。

        如果還想繼續(xù)用exports.xxx,那就得重新再給module.exports賦值給exports。

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        看,現(xiàn)在又生效了。

        如果很糾結(jié)在開發(fā)中到底用很exports,還是module.exports,那就忘記exports吧(忘記它,我們不需要備胎,哈哈哈哈)。
        一開始就是說了,exports本身就是module.exports的一個(gè)引用。exports能做的module.exports都能做。比如導(dǎo)出多個(gè)變量或者函數(shù)。

        exports和module.expors之間有什么區(qū)別及聯(lián)系?

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品福利在线观看| 久久99精品久久久久婷婷| 亚洲精品一级无码鲁丝片| 欧美亚洲成人精品| 成人精品在线视频| 在线精品国产一区二区三区| 成人国内精品久久久久影院VR | 国产精品自产拍在线观看| 中文精品99久久国产 | 亚洲国产精品一区二区第一页| 国产精品美女久久久免费| 久久精品国产亚洲欧美| 国产精品9999久久久久| 2022精品天堂在线视频| 亚洲国产精品VA在线看黑人| 久久精品免费大片国产大片| 久久久无码精品亚洲日韩软件| 2021国产精品成人免费视频| 亚洲国产精品成人精品无码区| 欧美激情视频精品一区二区| 国产免费久久精品丫丫| 久久久精品波多野结衣| 午夜精品成年片色多多| av国内精品久久久久影院| 欧美日韩人妻精品一区二区在线 | 精品国产日产一区二区三区| 精品无人区一区二区三区| 亚洲AV无码成人精品区蜜桃 | 免费国产在线精品一区| 国内精品伊人久久久久网站| 一级A毛片免费观看久久精品| 精品人妻少妇一区二区三区在线| 99久久99久久精品国产片果冻| 国产午夜精品理论片久久影视| 国产精品多p对白交换绿帽| 精品人妻人人做人人爽| 久久精品九九亚洲精品| 精品久久人妻av中文字幕| 国产午夜精品免费一区二区三区| 久久亚洲国产成人精品性色| 麻豆成人久久精品二区三区免费 |