[英]How to force contents of a typescript module to be evaluated at runtime?
我有许多 TS 模块,其中只包含 TS 类。 这些类中的每一个都包含一个 class 装饰器,它将 class 信息添加到 Map(在不同的模块中,但这不相关)。 这里的重要部分是我的 TS 模块中的类从不直接按名称实例化。 相反,Map 被返回 class 信息的应用程序的其他部分访问,class 信息用于实例化 object。
我的问题是因为我从来没有直接从带有类的 TS 模块按名称访问任何东西,模块在运行时没有得到评估,因此 class 装饰器没有得到处理,所以没有任何东西被添加到我的 Map。
我能够通过两种方式解决这个问题。
这些解决方法中的每一个都强制对模块进行评估,从而对装饰器进行评估。 然而,这似乎是一个黑客...
即使在应用程序的其他地方没有通过名称明确引用任何内容,是否还有其他方法可以强制在运行时评估模块? 仅导入不强制评估。
我的解决方案是导入每个 TS 模块而不指定任何特定的 function 或模块中的类型。 这导致对模块进行评估。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.