implementation_imports
不要从其他包导入实现文件。
详情
#来自 pub 包布局文档
不要 从其他包导入实现文件。
lib
目录中的库是公开可见的:其他包可以自由导入它们。但是,包的大部分代码是内部实现库,这些库应该仅由包自身导入和使用。这些库位于 lib
的一个名为 src
的子目录中。如果它有助于你组织事物,你可以在其中创建子目录。
你可以自由地从同一包中的其他 Dart 代码(例如 lib
中的其他库、bin
中的脚本和测试)导入位于 lib/src
中的库,但你绝不应该从另一个包的 lib/src
目录导入。这些文件不是包的公共 API 的一部分,它们的更改可能会以破坏你的代码的方式进行。
错误示例
dart
// In 'road_runner'
import 'package:acme/src/internals.dart';
启用
#要启用 implementation_imports
规则,请在你的 analysis_options.yaml
文件中的 linter > rules 下添加 implementation_imports
analysis_options.yaml
yaml
linter:
rules:
- implementation_imports
如果你改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 implementation_imports: true
analysis_options.yaml
yaml
linter:
rules:
implementation_imports: true
除非另有说明,否则本网站上的文档反映了 Dart 3.7.1 版本。页面上次更新于 2025-03-07。 查看源代码 或 报告问题。