asset 값이 문자열 또는 맵이 아님

asset 값이 문자열 또는 맵이 아님 (asset_not_string_or_map)

이 문서는 Dart 분석기(analyzer)가 만들어 내는 asset_not_string_or_map 진단(diagnostic)에 대한 상세한 내용을 설명하는 문서예요. asset 값이 파일 경로(문자열)도 맵(map)도 아닌 형태일 때 분석기가 이 진단을 알려 줘요. 어떤 상황에서 발생하고 어떻게 고치는지 함께 알아볼게요.

출처: asset_not_string_or_map

본문

진단 메시지

An asset value is required to be a file path (string) or map.

asset 값은 파일 경로(문자열) 또는 맵이어야 해요.

설명

분석기는 asset 값이 문자열도 맵도 아닌 형태일 때 이 진단을 만들어 내요. asset 값은 파일 경로를 나타내는 문자열이거나, 경로 외에 추가 정보를 담는 맵이어야 하거든요.

예시

다음 코드는 asset 값이 목록(list)이기 때문에 이 진단을 만들어 내요.

name: example
flutter:
  assets:
    - [one, two, three]

일반적인 해결 방법

  • asset의 경로 외에 다른 정보도 지정해야 한다면, 값을 path 키(유효한 POSIX 스타일 파일 경로)를 가진 맵으로 바꿔 주세요.
name: example
flutter:
  assets:
    - path: assets/image.gif
      flavors:
      - premium
  • 경로만 지정하면 된다면, 값을 asset의 경로(유효한 POSIX 스타일 파일 경로)로 바꿔 주세요.
name: example
flutter:
  assets:
    - assets/image.gif

더 알아보기