Javascript 销毁导出默认值和module.exports之间的差异
我一直在努力在另一个文件中销毁我的mongo对象,我的对象结构如下所示Javascript 销毁导出默认值和module.exports之间的差异,javascript,node.js,babeljs,Javascript,Node.js,Babeljs,我一直在努力在另一个文件中销毁我的mongo对象,我的对象结构如下所示 const env = { project: 'CRIBBBLE BACKEND', url: 'localhost', api: { url: 'https://api.dribbble.com/v1/', }, port: parseInt(process.env.PORT, 10) || 3000, 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;
但是当我试图从'config'导入另一个js
文件中的mongo
对象时,返回的值是未定义的。
但是如果我将导出默认值更改为module.exports
,它将按预期工作
所以,我只是想知道module.exports
和exportdefault
之间的区别是什么?module.exports
是从不同文件导入和导出的NodeJS()样式import/export
是执行相同操作的ES6
功能
如果您导出defualt
您需要像导入“位置”的环境一样导入它(看我发出{}
部分),然后通过env.mongo
访问mongo
。您不能直接获取mongo
对象。当您使用export default foo
导出时,导入后使用{default:foo}
可以获得整个导出的foo
。这就是您无法访问所需属性的原因。尝试导入为:import*as bar from./foo'
并使用console.log(bar)
浏览bar
,查看下面发生的情况。另外,要了解更多信息,请查看:在2ality.com上,So的可能重复,我的情况有什么不同?好的,但我仍然不明白为什么我不能使用导出默认值
销毁返回的对象