簡體   English   中英

銷毀導出默認值和module.exports之間的區別

[英]Difference between destructing export default and module.exports

我一直在努力將mongo對象破壞到另一個文件中,我的對象結構如下所示。

  const env = {
       project: 'CRIBBBLE BACKEND',
       url: 'localhost',
       api: {
         url: 'https://api.dribbble.com/v1/',
       },
       port: parseInt(process.env.PORT, 10) || 3000,
       mongo: database,
};

 export default env;

但是,當我試圖{ mongo } from 'config'中將mongo對象import到另一個js文件,例如{ mongo } from 'config'返回的值是undefined 但是,如果我將導出默認值更改為module.exports它將按預期工作。

所以,我只是想知道module.exportsexport default之間有什么區別?

module.exports是從不同文件導入和導出的module.exportsCommonJS )樣式。 import/export是執行相同操作的ES6功能。

如果要export defualt ,則需要像import env from 'location'一樣導入它(看起來我發出{}部分),然后通過env.mongo訪問mongo 您不能直接獲取mongo對象。

使用export default foo導出時,導入后使用{default: foo}可使用整個導出的foo 這就是為什么您無法訪問所需屬性的原因。 嘗試為進口: import * as bar from './foo'和探索bar使用console.log(bar) ,看看發生了什么下方。 還可以查看更多信息: 2ality.com上的es6 模塊導出

暫無
暫無

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

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