【问题标题】:TypeScript: Modify class before type checkingTypeScript:在类型检查之前修改类
【发布时间】:2018-01-16 22:36:38
【问题描述】:

我想在 Java 中实现一个类似于https://projectlombok.org/ 的库。例如,假设我想实现一个简单的 @Setter 装饰器,它将为类中的每个字段 xyz 添加 setXyz() 方法。

这可能吗?例如编译时装饰器还是编译器的“插件”?

【问题讨论】:

    标签: typescript typescript-compiler-api typescript-decorator


    【解决方案1】:

    Typescript 编译器当前不支持“插件”。事实上,here 是 GitHub 上一个开放的 Typescript 问题,用于添加此类行为。

    也就是说,您可以选择通过 webpack 等捆绑器运行您的项目,该捆绑器肯定支持插件和转换。有很多资源可用于开始 webpack 插件开发,但您可以尝试从 here 开始。

    【讨论】:

      【解决方案2】:

      使用 TypeScript 装饰器,您只能更改运行时行为。目标是不要更改输入的运行时使用(也称为编译时接口)。

      更多

      享受?

      【讨论】:

      • 我相信这在运行时有效。我想要的是在编译阶段执行此操作:在我的示例中,我希望能够调用 obj.setXYZ(42) 并且不会出现编译错误
      • 对不起,你不能。更新答案?
      猜你喜欢
      • 2021-11-25
      • 2019-03-02
      • 2012-09-29
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      相关资源
      最近更新 更多