gpt4 book ai didi

javascript - ES6 - 是否有一种优雅的方式来导入所有命名导出而不是默认导出?

转载 作者:可可西里 更新时间:2023-11-01 02:31:44 27 4
gpt4 key购买 nike

我正在寻找一种优雅的方式来导入所有命名的导出,而不必也导入默认值。

在一个文件中,我导出了许多命名常量和一个默认常量:

// myModule.js
const myDefault = 'my default'
export const named1 = 'named1'
export const named2 = 'named2'
// many more named exports - otherwise this would not be an issue...
export default myDefault

在另一个文件中,我希望有一种优雅的方式导入所有命名的导出,而不必导入默认值:

// anotherFile.js
// this is what I would like to do, but syntax is not supported, right?
import { * as namedOnly } from './myModule'

想要:

// anotherFile.js
import myDefault, * as namedOnly from './myModule'

因为我不需要 anotherFile.js 中的默认值,而且我的 linting 工具让我很烦已定义但未使用的 myDefault。我也不想:

// anotherFile.js
import {
named1,
named2,
... // many more
} from './myModule'

因为打字太多了。我也想要object.omit默认值:

// anotherFile.js
import omit from 'object.omit'
import * as all from './myModule'
const namedOnly = omit(all, 'default')

感谢您的帮助!

最佳答案

“命名”和“默认”导出之间没有分隔。默认导出是一个命名导出,它恰好具有名称 default,这是为了便于某些语法使用而特例化的。

导入所有导出 key 的唯一方法是使用

import * as foo from "foo";

如果有,那将包括命名的导出default。如果您希望将其从检查中排除,您可以按照自己的逻辑来处理它,就像您对 omit() 示例所做的那样。

关于javascript - ES6 - 是否有一种优雅的方式来导入所有命名导出而不是默认导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44258995/

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