![](/img/trans.png)
[英]What is the difference between module.exports = {} and export?
[英]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.exports
和export default
之間有什么區別?
module.exports
是從不同文件導入和導出的module.exports
( CommonJS )樣式。 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.