avoid_relative_lib_imports: lib/ 안 파일의 상대 임포트를 피하세요
avoid_relative_lib_imports: lib/ 안 파일의 상대 임포트를 피하세요
avoid_relative_lib_imports는 lib/ 디렉터리 안에 있는 파일을 상대 경로로 임포트하지 말라고 알려주는 린트(lint) 규칙이에요. 임포트 방식을 통일해 혼란을 줄여줘요.
본문
상세 설명
lib/ 안에 있는 파일은 상대 임포트를 피하세요. 상대 임포트와 절대 임포트를 섞어 쓰면, 같은 멤버를 두 가지 다른 방식으로 임포트하게 되어 혼란이 생길 수 있어요. 이를 피하는 쉬운 방법은 경로에 lib/가 포함된 상대 임포트를 아예 없애는 거예요.
lib/ 안에 있는 파일 사이의 상대 임포트를 금지하려면 always_use_package_imports 규칙을 쓸 수도 있어요.
BAD:
import 'package:foo/bar.dart';
import '../lib/baz.dart';
...
GOOD:
import 'package:foo/bar.dart';
import 'baz.dart';
...
활성화하기
avoid_relative_lib_imports 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 avoid_relative_lib_imports를 추가해요.
linter:
rules:
- avoid_relative_lib_imports
대신 YAML map 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 avoid_relative_lib_imports: true를 추가해요.
linter:
rules:
avoid_relative_lib_imports: true
참고로 이 규칙은 자동 수정(fix)이 제공돼요.