我有一个类似的模块A
const defaults = {
something: {...},
somethingElse : {...}
}
export { defaults as default };
然后我像这样导入
import * as mod, { something } from 'moduleA';
mod
正确地是一个具有两个已声明属性的对象,但是 { something }
是未定义的。
知道是什么原因吗?
最佳答案
[With the module as in the question] I am importing like
import * as mod, { something } from 'moduleA';
but
something
is undefined
但是您的模块中没有名为 something
的导出。只有一个包含对象的默认导出。你需要做
import mod from 'moduleA';
const { something } = mod;
I have a module A that is like
const defaults = { something: {...}, somethingElse : {...} } export { defaults as default };
但无论如何你真的不应该那样做。导出像命名空间一样的“单例”对象是 ES6 模块中的一种反模式。您应该改用命名导出:
export const something = {...};
export const somethingElse = {...};
有了这个,您最初尝试导入该模块就可以了。
关于javascript - 无法导入模块的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208977/