prefer_relative_imports: `lib/` 안 파일은 상대 임포트를 써요
prefer_relative_imports: lib/ 안 파일은 상대 임포트를 써요
lib/ 디렉터리 안의 파일을 임포트할 때 절대 경로(package:)와 상대 경로를 섞어 쓰면 같은 멤버를 두 가지 방식으로 불러오는 혼란이 생길 수 있어요. prefer_relative_imports 린터 규칙은 lib/ 안 파일은 상대 임포트를 쓰도록 일관성을 지켜주는 규칙이에요.
본문
Details
lib/ 디렉터리 안의 파일에는 상대 임포트(relative import)를 쓰는 걸 권장해요.
상대 임포트와 절대 임포트를 섞어 쓰면 같은 멤버를 서로 다른 방식으로 임포트하게 되어 혼동이 생길 수 있어요. 이걸 피하는 한 가지 방법은 lib/ 디렉터리 안에 있는 파일은 항상 상대 임포트를 쓰도록 일관성을 유지하는 거예요.
BAD:
import 'package:my_package/bar.dart';
GOOD:
import 'bar.dart';
Incompatible rules
prefer_relative_imports 린터는 다음 규칙과 함께 쓸 수 없어요.
always_use_package_imports
Enable
prefer_relative_imports 규칙을 켜려면 analysis_options.yaml 파일의 linter > rules 아래에 prefer_relative_imports를 추가해요.
linter:
rules:
- prefer_relative_imports
대신 YAML 맵(map) 문법으로 린터 규칙을 설정하고 있다면 linter > rules 아래에 prefer_relative_imports: true를 추가해요.
linter:
rules:
prefer_relative_imports: true