随着 Dart 2.14 版本的发布,pub 现在支持类似于
.pubignore
的 .gitignore
文件。
文档似乎没有提到什么内容适合包含在其中......有什么指南吗?
我的直接想法是我不应该包含测试,这些测试目前与我的包一起发布。可能还有其他与开发相关的东西,在编译生产代码时不需要?!
这是正确的吗?还有其他可以忽略的事情吗?
我致力于
dart pub
,简短的回答是:大多数开发人员可能不需要使用 .pubignore
。
如果您在本地有不想发布的文件(缓存或凭据),您可能也不想将它们提交到 git。所以在大多数情况下,最简单的方法就是使用
.gitignore
。
如果您不使用 git,或者您在 git 中有一些想要的文件,但未发布到 pub.dev,那么
.pubignore
很有用。也许您有一个私有存储库,其中包含具有仅用于开发/测试或类似内容的专有代码的文件。或者您的存储库可能包含用于测试的巨大数据文件,在发布到 pub.dev 时达到了大小限制。
大多数时候,如果您不介意公开文件,并且该文件与包有有意义的关系,那么我建议您包含它。 即使您的软件包的用户不太可能从 pub.dev 下载它并运行测试,在我看来,包含这些测试也是很好的。这使得该包更加完整和独立。我们甚至可以想象未来在 pub.dev 上分析包中的测试。
我认为,如果 Dart 团队认为发布包时不应包含
test/
中的文件,那么 Dart 团队应该修改 dart pub publish
命令以不发布此类文件默认(或至少警告用户不要这样做)。
最容易被忽视的是图像。
为了清楚起见,您可以在
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
中的图像。