gpt4 book ai didi

javascript - es2015 模块 - 如何动态命名导出

转载 作者:行者123 更新时间:2023-11-29 16:09:04 27 4
gpt4 key购买 nike

我想创建一个模块 h,它为每个 HTML 元素导出一个函数。以下是它的使用方式:

import {div, p} from 'h'

const myDiv = div(p('some text'))

下面是该模块的定义方式:

const h = {}
for (let tagName of ['div', 'p', /* ... */]) {
h[tagName] = (...children) => {
// ...
}
}

export const div = h.div
export const p = h.p
/* ... */

我不喜欢每个导出都必须明确列出。我如何使这些动态化?

最佳答案

how to name exports dynamically

你不能。 importexport 语句是专门以这种方式设计的,因为它们必须是静态可分析的,即导入和导出名称必须在之前已知代码被执行。

如果您需要一些动态的东西,那么做您已经在做的事情:导出“ map ”(或对象)。人们仍然可以使用解构来获得他们想要的东西:

const {div} = h;

关于javascript - es2015 模块 - 如何动态命名导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33684154/

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