メインコンテンツにスキップ

always_use_package_imports

安定版
修正が利用可能です

lib/ 内のファイルに対して相対インポートを回避します。

詳細

#

推奨: lib/ 内のファイルへの相対インポートを避ける。

相対インポートと絶対インポートを混在させると、同じメンバーが 2 つの異なる方法でインポートされるという混乱が生じる可能性があります。その混乱を避ける方法の 1 つは、lib/ ディレクトリ内のファイルには常に絶対インポートを使用するようにすることです。

これは 'prefer_relative_imports' とは反対です。

また、'avoid_relative_lib_imports' を使用して、`lib/` ディレクトリ外 (例: `test/`) から `lib/` ディレクトリ内のファイルへの相対インポートを禁止することもできます。

悪い例

dart
import 'baz.dart';

import 'src/bag.dart'

import '../lib/baz.dart';

...

良い例

dart
import 'package:foo/bar.dart';

import 'package:foo/baz.dart';

import 'package:foo/src/baz.dart';
...

互換性のないルール

#

always_use_package_imports ルールは、次のルールと互換性がありません。

有効にする

#

always_use_package_imports ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に always_use_package_imports を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    - always_use_package_imports

代わりに、linter ルールを構成するために YAML マップ構文を使用している場合は、linter > rules の下に always_use_package_imports: true を追加します。

analysis_options.yaml
yaml
linter:
  rules:
    always_use_package_imports: true