编译为javascript时打字稿忽略行

时间:2021-02-06 11:42:24

标签: javascript typescript jestjs

我正在尝试在我的打字稿类中使用枚举,但我也在尝试使用 Jest 对其进行测试。

我的枚举类如下所示:

enum Register {
    A = "A",
    X = "X",
    Y = "Y",
    PC = "PC",
    SP = "SP"
}
Object.freeze(Register);
module.exports = Register;

在我的 CPU 类的顶部,我有这样一行:

import { Register } from "./register";

如果我这样做,这个应用程序会在浏览器中加载并且工作正常。但是,我的 Jest 测试表明:

Cannot read property 'A' of undefined

如果我像这样删除 Register 周围的花括号:

// @ts-expect-error - ./register is not a module - but this allows Jest test
import Register from  "./register";

我没有收到任何错误(由于抑制)并且我可以使用枚举很好地运行我的测试,但是在浏览器中,它显示 ReferenceError: CPU is not defined


目前我正在对运行应用程序时的行进行注释并取消对输入的注释。

我想知道,是否有任何打字稿注释(类似于 @ts-ignore)会阻止该行编译为 Javascript 文件? - 我在 HTML 中包含了 enum js 文件,以便它可供类使用,只是想知道是否有更自动化的解决方案来解决这个问题。

0 个答案:

没有答案