gpt4 book ai didi

dart - dart pub build:排除文件或目录

转载 作者:行者123 更新时间:2023-12-03 02:53:45 26 4
gpt4 key购买 nike

在使用dart的pub build构建Web应用程序时,我试图排除文件或目录的列表。
按照documentation的建议使用它:

transformers:
- simple_transformer:
$exclude: "**/CVS"

不起作用:

Error on line 10, column 3 of pubspec.yaml: "simple_transformer" is not a dependency.

- simple_transformer:



有没有办法做到这一点(使用SDK 1.10.0)?

最佳答案

遗憾的是,正如Günter所述,目前不支持将文件标记为pub build忽略。 .gitignore功能已被删除,因为它没有记录,并且造成的麻烦超过了解决的麻烦。

但是您可以从构建输出中执行文件。这意味着文件仍在处理中(仍然需要时间处理= /),但是在输出目录中不存在。这对于一次生成应用程序的可部署副本很有用。

在我们的应用程序中,我们使用一个简单的ConsumeTransformer将 Assets 标记为已消耗,以便不将其写入输出文件夹:

library consume_transformer;

import 'package:barback/barback.dart';

class ConsumeTransformer extends Transformer implements LazyTransformer {
final List<RegExp> patterns = <RegExp>[];

ConsumeTransformer.asPlugin(BarbackSettings settings) {
if (settings.configuration['patterns'] != null) {
for (var pattern in settings.configuration['patterns']) {
patterns.add(new RegExp(pattern));
}
}
}

bool isPrimary(AssetId inputId) =>
patterns.any((p) => p.hasMatch(inputId.path));

void declareOutputs(DeclaringTransform transform) {}

void apply(Transform transform) => transform.consumePrimary();
}

使用者需要使用正则表达式模式列表作为参数,以使用匹配的文件。您需要将转换器作为最后一个转换器添加到pubspec.yaml文件中:
transformers:
- ... # Your other transformers
- packagename/consume_transformer:
patterns: ["\\.psd$"]

示例配置忽略所有扩展名为 psd的文件,但是您可以根据需要添加模式。

我创建了一个包含转换器的pub包,看看here

关于dart - dart pub build:排除文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32567673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com