Dart的.pubignore文件中应配置哪些需要忽略的内容?
.pubignore 配置规范与推荐规则
虽然目前官方没有公布明确的配置规范,但.pubignore的核心逻辑和.gitignore完全一致,语法规则也完全通用:支持通配符匹配、目录匹配、!开头的否定规则,作用是在发布包到pub.dev时,排除不需要打包上传的文件,减小发布包体积。
你提到的忽略tests目录、以及其他生产编译不需要的开发相关内容的思路是完全正确的,这类内容不会影响用户安装使用你的包,排除后也能避免无关的开发侧内容占用公共存储资源。
除此之外推荐配置的忽略内容包括以下几类:
- 版本管理相关内容:
.git/目录、.gitignore、.gitattributes等Git配置文件 - 本地开发工具配置:
.vscode/、.idea/等IDE配置目录,.dart_tool/Dart工具本地缓存目录 - 测试相关内容:
test/、tests/测试目录,coverage/测试覆盖率目录、lcov.info等覆盖率报告文件 - 本地构建产物:
build/构建输出目录,本地编译生成的.js、.wasm、.exe等临时产物 - 开发侧专用配置:
pubspec_overrides.yaml本地依赖覆盖配置,.env本地环境变量文件等可能包含敏感信息的配置 - 系统/工具缓存文件:
.DS_Store等系统缓存文件,*.log运行日志文件 - 冗余文档内容:未正式发布的文档草稿、多语言备用README草稿等不需要随包分发的内容
注意:
pubspec.yaml、LICENSE、README.md、CHANGELOG.md以及lib/下的包核心代码是发布时必须包含的内容,请勿加入.pubignore,否则会导致包无法正常发布或使用。
内容的提问来源于stack exchange,提问作者Renato
相关产品推荐
相关产品推荐

