跳到主要內容

implementation_imports

穩定
推薦

不要從另一個包匯入實現檔案。

詳情

#

引自 pub 包佈局文件

不要從另一個包匯入實現檔案。

lib 目錄內的庫是公開可見的:其他包可以自由匯入它們。但包的大部分程式碼是內部實現的庫,它們只能由包本身匯入和使用。這些庫放在 lib 的一個子目錄 src 中。如果你覺得有助於組織,可以在 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