Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 使用pub运行中的Transformer输出文件_Dart_Dart Pub - Fatal编程技术网

Dart 使用pub运行中的Transformer输出文件

Dart 使用pub运行中的Transformer输出文件,dart,dart-pub,Dart,Dart Pub,我正在尝试找出如何在Dart服务器应用程序中使用transformers。到目前为止,我已经阅读了和的文章,并使用这些信息编写了以下transformer 导入'dart:async'; 进口“包装:barback/barback.dart”; 类TestTransformer扩展了Transformer{ 最终BABACKSETTINGS\U设置; TestTransformer.asPlugin(此设置); 阿塞蒂德; 未来iPrimary(资产id){ assetId=id; 返回新的Fu

我正在尝试找出如何在Dart服务器应用程序中使用transformers。到目前为止,我已经阅读了和的文章,并使用这些信息编写了以下transformer

导入'dart:async';
进口“包装:barback/barback.dart”;
类TestTransformer扩展了Transformer{
最终BABACKSETTINGS\U设置;
TestTransformer.asPlugin(此设置);
阿塞蒂德;
未来iPrimary(资产id){
assetId=id;
返回新的Future.value(id.toString().endsWith('.txt');
}
应用(变换){
transform.primaryInput.readAsString().then((文本){
字符串输出=text.toUpperCase;
打印(输出);
addOutput(new Asset.fromString(assetId.addExtension('.upper'),output));
});
}
}

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

据我所知,控制台/服务器应用程序的转换器不受支持。当我运行
pub-upgrade
时,我还看到在
预编译依赖项之后加载了一些转换器,但这似乎没有处理您的源文件。

现在我甚至更加困惑,因为我可以从
print
行看出,在运行我的转换器和处理文件时,
pub-run
。此外,为了使用
pub run
,我必须使用transformer。async/await transformer在这种情况下是如何工作的?好问题。我不知道。几周前,我与Dart团队的一些成员进行了一次讨论,其中简要提到服务器端代码不支持转换器。可能是我误解了什么。表示“此转换器对于使用dart2js尝试异步/等待非常有用。Dart VM本机支持异步和等待。如果您正在编写仅在VM中运行的Dart代码,则不需要此转换器。”因此仅适用于客户端代码。