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';
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント