【问题标题】:How to preload typescript class with -r option of ts-node如何使用 ts-node 的 -r 选项预加载 typescript 类
【发布时间】:2022-01-26 12:10:32
【问题描述】:

假设有一个名为lib.ts的文件,内容如下:

export class A {}
console.log('script loaded');

现在我开始ts-node REPL 这样:npx ts-node -r ./lib.ts 然后我可以看到它打印“脚本已加载”,确认脚本已被处理。

但是当我在 REPL 中运行以下语句时

const a = new A()

它只是抛出错误error TS2304: Cannot find name 'A'.

出于某种原因,我需要预加载我在lib.ts 中定义的类,但它似乎效果不佳。出了什么问题以及如何解决它,或者是否有其他解决方法?

【问题讨论】:

    标签: node.js typescript ts-node


    【解决方案1】:

    我发现一个简单的解决方案是将它们分配给global。

    class A {}
    class B {}
    
    Object.assign(global, {
      A,
      B,
    })
    
    console.log('script loaded');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-30
      • 2016-10-25
      • 2021-05-24
      • 2021-07-29
      • 2021-05-17
      • 2020-11-04
      • 2021-11-05
      相关资源
      最近更新 更多