![](/img/trans.png)
[英]Babel with preset-env (no options) and preset-typescript says “Missing class properties transform”. Why?
[英]Consume enum from ambient TypeScript module using @babel/preset-typescript?
是否可以使用@babel/preset-typescript
typescript从babel
编译的文件中使用enum
?
mymodule.d.ts
declare module 'mymodule' {
export enum Fruit {
apple = 'Apple',
}
}
script.js
import { Fruit } from 'mymodule'
assert.equals(Fruit.apple === 'Apple')
在这种情况下, Fruit
将是不确定的,因为babel
不了解环境声明。
除了声明一个单独的enum / constants文件并直接在两个位置(环境模块和脚本)中导入文件之外,还有什么方法可以解决此问题?
您不能从声明文件( *.d.ts
)导入可执行代码。
您可以使用声明文件来描述另一个模块中发生的事情。 在这种情况下,如果Fruit
中存在mymodule
,你可以声明其形状mymodule.d.ts
-但它不是真实执行的声明,但实际的代码住在mymodule
。
换句话说, Fruit
必须存在于*.ts
或*.js
文件中才能在运行时使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.