TypeScript支持导出默认枚举吗?

k75qkfdt  于 2023-02-10  发布在  TypeScript
关注(0)|答案(2)|浏览(195)

我有一个枚举对象,我想在顶层将其作为导出默认值,如下所示:

export default enum Hashes{

FOO = 'foo',
BAR = 'bar',
}

我得到这个错误:
模块解析失败:意外标记(1:15)文件已使用这些加载程序处理:[02:54]萨赫农·马布鲁克(外部----项目)

  • ./节点模块/@Angular 开发工具包/构建Angular /源代码/babel/网络包加载程序. js
  • ./节点模块/@ngtools/网络包/源代码/Ivy/索引. js

我试着这样说:

export enum Hashes{
    
    FOO = 'foo',
    BAR = 'bar',
    }

而且它似乎只有在我把哈希作为别名导入到所有组件中时才起作用,就像这样:
导入{哈希}从...这是一个巨大的变化,在我的项目!
有什么办法吗?

zxlwwiss

zxlwwiss1#

这就是ES6的工作原理。

enum Hashes {
  FOO = 'foo',
  BAR = 'bar',
}

export default Hashes;

将其导出为常量?关于默认导出,每个模块只有一个默认导出。默认导出可以是函数、类、对象或其他任何东西。此值被视为“主”导出值,因为它是最容易导入的。

export const enum Hashes {
  FOO = 'foo',
  BAR = 'bar',
}
2exbekwf

2exbekwf2#

export default expects an expression/function/class after it,您可以在这里阅读更多Export MDN
这不是因为TS,这是因为你的语句中的错误。你可以简单地先定义你的枚举,然后导出它的默认值。

enum Hashes {
 FOO = 'foo',
 BAR = 'bar',
}

export default Hashes

相关问题