Dart 的 .pubignore 中应该忽略什么?

问题描述 投票:0回答:2

随着 Dart 2.14 版本的发布,pub 现在支持类似于

.pubignore
.gitignore
文件。

文档似乎没有提到什么内容适合包含在其中......有什么指南吗?

我的直接想法是我不应该包含测试,这些测试目前与我的包一起发布。可能还有其他与开发相关的东西,在编译生产代码时不需要?!

这是正确的吗?还有其他可以忽略的事情吗?

dart dart-pub
2个回答
11
投票

我致力于

dart pub
,简短的回答是:大多数开发人员可能不需要使用
.pubignore

如果您在本地有不想发布的文件(缓存或凭据),您可能也不想将它们提交到 git。所以在大多数情况下,最简单的方法就是使用

.gitignore

如果您不使用 git,或者您在 git 中有一些想要的文件,但未发布到 pub.dev,那么

.pubignore
很有用。也许您有一个私有存储库,其中包含具有仅用于开发/测试或类似内容的专有代码的文件。或者您的存储库可能包含用于测试的巨大数据文件,在发布到 pub.dev 时达到了大小限制。

大多数时候,如果您不介意公开文件,并且该文件与包有有意义的关系,那么我建议您包含它。 即使您的软件包的用户不太可能从 pub.dev 下载它并运行测试,在我看来,包含这些测试也是很好的。这使得该包更加完整和独立。我们甚至可以想象未来在 pub.dev 上分析包中的测试。

我认为,如果 Dart 团队认为发布包时不应包含

test/
中的文件,那么 Dart 团队应该修改
dart pub publish
命令以不发布此类文件默认(或至少警告用户不要这样做)。


5
投票

最容易被忽视的是图像。

为了清楚起见,您可以在

README.md
中使用它们,并将它们托管在 GitHub 上。 如果您使用相对路径,例如

![Description](img/img.png)

它将显示在 GitHub 上,但不会显示在 pub.dev 上。

您可以使用绝对 URL,如下所示:

![Description](https://raw.githubusercontent.com/user/repository/main/img/img.png)

所以将图像带到 pub.dev 是没有意义的,它只会使包变得沉重。所以请忽略您的

.pubignore
中的图像。

© www.soinside.com 2019 - 2024. All rights reserved.