【Flutter】開発時のエラーハンドリング

Flutter開発時のエラーハンドリングについて記録する。

Target of URI doesn’t exist:

以下の場所に配置したファイルをインポートしようとした際のエラー。

lib/widgets/custom_bottom_navigation_bar.dart

呼び出し元ファイル

lib/views/home_page.dart

Target of URI doesn't exist: 'widgets/custom_bottom_navigation_bar.dart'.
Try creating the file referenced by the URI, or try using a URI for a file that does exist.darturi_does_not_exist

解決法

import '../widgets/custom_bottom_navigation_bar.dart';

ここで重要なのは、このインポート文が記述されているファイルの位置。もし、このインポート文が lib/pages/ などのサブディレクトリ内のファイルに記述されていた場合、lib/ ディレクトリからは widgets/custom_bottom_navigation_bar.dart という相対パスではファイルを参照できない。一階層上に移動する必要がある。

Vue.jsのようにエイリアスを使ってインポートしたい。

Vue.jsでは`@/view/xxx.vue`のようにエイリアスを使ってプロジェクトのルートからの絶対パスを指定できる。

Dart (とそれに基づくFlutter) でも同等の機能が用意されており、package: URI を使用してプロジェクトのルートからの絶対パスを指定することが推奨されている。

以下のように指定をする。

import 'package:my_app/widgets/custom_bottom_navigation_bar.dart';

関連記事

コメント

この記事へのコメントはありません。