ambiguous_export 진단: 여러 라이브러리가 같은 이름을 내보낼 때
ambiguous_export 진단: 여러 라이브러리가 같은 이름을 내보낼 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. ambiguous_export는 두 개 이상의 export 지시문이 서로 다른 라이브러리에서 같은 이름을 내보낼 때 분석기가 알려주는 컴파일 타임 진단이에요. 이름이 겹치면 어느 쪽을 써야 할지 알 수 없어서 문제가 돼요.
출처: ambiguous_export
본문
설명
분석기는 두 개 이상의 export 지시문 때문에 여러 라이브러리에서 같은 이름이 내보내질 때 이 진단을 만들어요.
예시
C라는 클래스를 담은 a.dart 파일이 있고,
class C {}
C라는 클래스를 담은 b.dart 파일도 있어요.
class C {}
아래 코드는 C라는 이름이 a.dart와 b.dart 양쪽에서 내보내지므로 이 진단이 나와요.
export 'a.dart';
export 'b.dart';
흔한 해결 방법
어느 한 라이브러리의 이름을 전혀 내보낼 필요 없다면, 불필요한 export 지시문을 제거해요.
export 'a.dart';
모든 export 지시문이 필요하다면, 한 지시문을 제외한 나머지에서 해당 이름을 숨겨요.
export 'a.dart';
export 'b.dart' hide C;