javascript - Stöder TypeScript export default Enum?
Jag har ett enum-objekt som jag vill göra till export default på översta nivån så här :
export default enum Hashes{
FOO = 'foo',
BAR = 'bar',
}
Jag fick det här felet :
Modulparsning misslyckades: Oväntad token (1:15) Filen bearbetades med dessa loaders: [02:54] MABROUK, Sahnoun (extern - Projekt)
- ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js
- ./node_modules/@ngtools/webpack/src/ivy/index.js
Jag försökte på det här sättet:
export enum Hashes{
FOO = 'foo',
BAR = 'bar',
}
och det verkar fungera bara om jag importerar Hashes som alias i alla mina komponenter på det här sättet :
import {Hashes} från ... vilket är en stor förändring i mitt projekt !
någon lösning?
Svar #1
Så här fungerar ES6.
enum Hashes {
FOO = 'foo',
BAR = 'bar',
}
export default Hashes;
Exportera det som const? När det gäller standardexport finns det endast en standardexport per modul. En standardexport kan vara en funktion, en klass, ett objekt eller något annat. Detta värde ska betraktas som det "huvudsakliga" exporterade värdet eftersom det kommer att vara det enklaste att importera.
export const enum Hashes {
FOO = 'foo',
BAR = 'bar',
}
Svar #2
export default förväntar sig ett uttryck/funktion/klass efter sig, du kan läsa mer om Export på MDN här
Detta beror inte på TS, detta beror på ett fel i ditt uttalande. Du kan helt enkelt definiera din enum först och sedan export default den.
enum Hashes {
FOO = 'foo',
BAR = 'bar',
}
export default Hashes
