module.exports = function (idx) {
this.camera = idx;
};
module.exports.CONFIG = function () {
return Promise.resolve([]);
};
module.exports.CONFIG.FLOOR = function () {
return Promise.resolve([]);
}
我有一个包含上述代码的文件。 我需要此文件并console.log它。它只显示
function (idx) {
this.camera = idx;
}
为什么其他属性被隐藏?
如果我删除第一个module.exports段并进行console.log记录,它将在CONFIG中显示一个匿名函数(或默认函数?)。
{ CONFIG:
{ [Function]
FLOOR: [FUNCTION]
}
}
我想知道如何将其更改为导入/导出类型,而不是module.exports / require?
谢谢!
答案 0 :(得分:2)
您似乎同时具有命名出口和默认出口。导出时,外观类似于:
// Default export:
export default function (idx) {
this.camera = idx;
};
function CONFIG() {
return Promise.resolve([]);
}
CONFIG.FLOOR = function () {
return Promise.resolve([]);
}
// Named export:
export CONFIG;
然后,在导入它们时,您需要同时导入默认名称和名称:
import idxFn, { CONFIG } from '../foo';
^^^^^ default import
^^^^^^ named import
然后您就可以通过引用FLOOR
来访问CONFIG.FLOOR
。
但是,请注意,具有另一个功能的属性的功能真的很奇怪。您可能考虑将FLOOR
导出为另一个命名的导出,就像CONFIG
:
// Default export:
export default function (idx) {
this.camera = idx;
};
// Named exports:
export function CONFIG() {
return Promise.resolve([]);
}
export function FLOOR () {
return Promise.resolve([]);
}