Javascript 使用@babel/preset TypeScript从环境TypeScript模块使用枚举?

Javascript 使用@babel/preset TypeScript从环境TypeScript模块使用枚举?,javascript,typescript,enums,babeljs,Javascript,Typescript,Enums,Babeljs,是否可以使用@babel/preset-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将是未定义的,因为bab

是否可以使用
@babel/preset-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
不知道环境声明


除了声明一个单独的枚举/常量文件并直接在两个位置(环境模块和脚本)导入这些文件外,还有什么方法可以解决这个问题吗?

您不能从声明文件导入可执行代码(
*.d.ts

您可以使用声明文件来描述另一个模块中发生的事情。在这种情况下,如果
mymodule
中存在
Fruit
,则可以在
mymodule.d.ts
中声明其形状,但执行的不是声明,而是生活在
mymodule
中的实际代码


换句话说,
Fruit
必须存在于
*.ts
*.js
文件中才能在运行时使用。

您声明的模块是否存在?因为声明只是一个谎言。。。