我希望找到一种优雅的方式来导入所有命名导出,而不必也导入默认的。
在一个文件中,我导出了许多命名常量以及一个默认值:
// 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
中的默认设置,并且我的代码检查工具会警告我有定义但未使用的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')
感谢任何帮助!
import * as myModule from './myModule' ;
中的myModule.named1
等有什么主要关注点?从技术上讲,myModule.default
存在,但你不必使用它。问题的一部分是默认导出实际上是一个命名导出,只是命名为default
。 - loganfsmythdefault
... - mcmunder