目录

implementation_imports

不要从另一个包导入实现文件。

此规则从 Dart 2.0 开始可用。

规则集:推荐, flutter

详情

#

来自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