【发布时间】:2016-04-03 21:05:32
【问题描述】:
关于使用 Dart 生成代码的几个问题:
- dart 能否在运行时使用 Dart 为在 Dart VM 上运行的代码生成一个类?
- 在编译/预运行时是否有任何与 Java 注释处理等效的代码生成?
【问题讨论】:
标签: dart
关于使用 Dart 生成代码的几个问题:
【问题讨论】:
标签: dart
1) Dart VM 和 dart2js 不支持在运行时生成代码。
一种解决方法是为文件生成代码并将其加载到新的隔离中(也可以是数据 URI)。应用程序只能通过消息传递与在另一个隔离中运行的生成代码进行通信。
2) 这就是transformers 的用途,但转换器仅适用于 dart2js(或在开发时发布服务),而不适用于在服务器端 Dart VM 上运行的代码。
https://github.com/dart-lang/build(目前仅在开发者预览版中)可用于浏览器和服务器端代码的代码生成。它是一个监视源文件并在源文件更改时更新生成的代码的工具。
【讨论】:
我现在发现 dart 团队有一个用于生成源的库。生成源代码预编译时间似乎很有用:https://pub.dartlang.org/packages/source_gen
【讨论】: