gpt4 book ai didi

javascript - 有没有办法从 JavaScript 文件中获取所有导出的名称?

转载 作者:行者123 更新时间:2023-12-05 00:28:41 26 4
gpt4 key购买 nike

假设我有一个 JavaScript 文件(lib.js),它导出一些类、函数等。

export class Employment {
id = "";
startDate = "";
endDate = "";
companyEmailAddress = "";
};


export function HolidayPopupContainer() {
return (<div id="#HolidayPopupContainer" />);
}

export default withStyles(styles)(Button);

export default class DayView extends React.Component {
constructor(props) {
super(props);
this.state = {
readOnly: false
}


};
export const Status = [
"Select Status",
"Pending",
"Approved",
"Rejected",
"All"
]

现在,此文件在其中一个文件夹中另存为 lib.js。由于此文件具有导出功能,因此导出的文件可以由其他 JavaScript 文件导入。

有没有一种方法可以让我们以编程方式从 JavaScript 文件中找到完整的导出列表。

预期的输出应该是列表/数组/json等。上述js文件的输出将是
Employment
HolidayPopupContainer
withStyles
DayView
Status

可以 Object.keys有什么帮助吗?

最佳答案

首先,一个模块中应该只有一个默认导出。如果您解决了这个问题,并删除了默认导出之一 - 比如说,您更改了 DayView到一个命名的导出,然后用

import * as LibNamespace from './lib.js'

您将有一个(命名空间)对象,其属性是命名导出,加上 default默认导出的属性。对于您的代码,此对象的键将是
console.log(Object.keys(LibNamespace))
// ['Employment', 'HolidayPopupContainer', 'default', 'DayView', 'Status']

如果你想要 withStyles被“命名”,并包含在上面而不是 default ,您需要将其更改为命名导出:
const exportedVar = withStyles(styles)(Button);
export { exportedVar as withStyles };

但这有点令人困惑,因为看起来您已经有一个名为 withStyles 的变量。在范围内。也许将导出的变量称为其他变量:
export const buttonResult = withStyles(styles)(Button);

(或任何你喜欢的)

关于javascript - 有没有办法从 JavaScript 文件中获取所有导出的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59175280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com