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

Ren*_*ato 7 dart dart-pub

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

这些文档似乎没有提到什么内容适合包含在其中......有什么指导方针吗?

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

它是否正确?还有其他值得忽略的事情吗?

jon*_*sfj 11

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

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

如果您不使用 git,或者您在 git 中有一些想要的文件,但未发布到pub.dev,那么这.pubignore很有用。也许您有一个私有存储库,其中包含具有仅用于开发/测试或类似内容的专有代码的文件。或者您的存储库可能包含用于测试的巨大数据文件,在发布到pub.dev时会遇到大小限制。

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

我认为,如果 Dart 团队认为test/发布包时不应包含其中的文件,那么 Dart 团队应该修改命令dart pub publish以默认不发布此类文件(或至少警告用户反对这样做)。


Ale*_*kin 5

最容易被忽视的就是图像。

为了清楚起见,您可以使用它们README.md并将它们托管在 GitHub 上。如果您使用相对路径,例如

![Description](img/img.png)
Run Code Online (Sandbox Code Playgroud)

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

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

![Description](https://raw.githubusercontent.com/user/repository/main/img/img.png)
Run Code Online (Sandbox Code Playgroud)

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