如题,我使用 vue+ts 开发项目,想要在全局声明 enum 枚举类型并赋默认值,因为项目中我会多出用到枚举类型,我希望全局可以直接使用,是必须导出并导入吗?
目前我是通过 .d.ts 声明文件来声明的,直接使用会报错,该枚举类型未定义。
test.d.ts
declare enum Directions {
Up=1,
Down=2,
Left=3,
Right=4
}
index.ts
function getDirection (direction: Directions) {
console.log('##########direction', direction)
}
getDirection(Directions.Up)
然后在需要使用的地方导入:
对于全局声明,你可以在项目根目录下的 shims.d.ts 文件中进行声明,或者在 src 目录下创建一个新的 .d.ts 文件:
// shims.d.ts
然后你就可以在整个项目中使用这个枚举类型了,无需导入:
let user: UserType = UserType.Admin;
需要注意的是,全局声明的枚举类型无法使用 import 导入。