使用Dart在运行时/编译时生成类

时间:2016-04-03 21:05:32

标签: dart

关于使用Dart生成代码的一些问题:

  1. 可以使用Dart在Dart VM上运行代码,在运行时生成一个类吗?
  2. 是否有任何类型的代码生成等同于编译/运行前的Java注释处理?

2 个答案:

答案 0 :(得分:1)

1)Dart VM和dart2js不支持在运行时生成代码 一种解决方法是为文件生成代码并将其加载到新的隔离中(也可以是数据URI)。应用程序只能通过消息传递与在另一个隔离区中运行的生成代码进行通信。

2)这是transformers的用途,但变换器仅适用于dart2js(或开发时的pub服务),但不适用于在服务器端Dart VM上运行的代码。

https://github.com/dart-lang/build(目前仅在开发人员预览版中)可用于生成浏览器和服务器端代码的代码。它是一种监视源文件并在源文件更改时更新生成的代码的工具。

答案 1 :(得分:0)

我现在发现飞镖队有一个用于生成源的库。它对于生成源编译前编译时间似乎很有用:https://pub.dartlang.org/packages/source_gen