使用pub run中的变换器输出文件

时间:2015-01-13 23:53:01

标签: dart dart-pub

我正在试图弄清楚如何在Dart Server应用程序中使用变换器。到目前为止,我已经阅读了https://www.dartlang.org/tools/pub/assets-and-transformers.htmlhttps://www.dartlang.org/tools/pub/transformers/上的文章,并使用该信息编写了以下变换器。

import 'dart:async';
import 'package:barback/barback.dart';

class TestTransformer extends Transformer {
final BarbackSettings _settings;

TestTransformer.asPlugin(this._settings);
AssetId assetId;

Future<bool> isPrimary(AssetId id) {
  assetId = id;
  return new Future.value(id.toString().endsWith('.txt'));
}

apply(Transform transform) {
  transform.primaryInput.readAsString().then((text) {
      String output = text.toUpperCase;
      print(output);
      transform.addOutput(new Asset.fromString(assetId.addExtension('.upper'), output));
    });
  }
}

当我使用pub run时,我看到变压器运行,print线路输出正如预期的那样。我缺少的是* .txt.upper输出文件。我在我的系统上找不到这样的文件。这个输出到底在哪里,我如何在我的代码中使用它?使用我的意思是能够使用File.open()读取文件,如果输出是Dart文件,则将其导入另一个Dart文件。

1 个答案:

答案 0 :(得分:1)

据我所知,不支持控制台/服务器应用程序的变换器。当我运行pub upgrade时,我也会在Precompiling dependencies之后看到已加载了一些变换器,但这似乎并不处理您的源文件。