Flutter如何正确导入curved_navigation_bar解决URI不存在报错
报错原因
你写的导包路径完全错误:home.dart是你自己在项目中创建的本地业务文件,不属于curved_navigation_bar第三方依赖包的内部文件,你写的package:curved_navigation_bar/home.dart会让Flutter去第三方包的安装目录下查找home.dart,自然找不到对应文件。
修复步骤
- 打开main.dart,删除错误的导包行
import 'package:curved_navigation_bar/home.dart';,替换为本地home.dart的正确导入。如果main.dart和home.dart都存放在lib目录的根路径下,直接使用相对路径导入即可:
import 'package:flutter/material.dart'; // 导入自己写的本地Home页面 import 'home.dart'; // 后续使用弧形导航栏组件时,再导入第三方包的正确入口,不要写错路径 // import 'package:curved_navigation_bar/curved_navigation_bar.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: const Home(), ); } }
- 如果相对路径导入提示异常,就使用项目绝对路径导入:格式为
import 'package:你的项目包名/home.dart';,项目包名可以在pubspec.yaml顶部的name:字段查到,比如项目名是first_demo,导包语句就写import 'package:first_demo/home.dart'; - 修改完成后,在终端执行以下命令同步依赖、重新编译运行项目即可:
flutter pub get flutter run
补充说明:
package:包名/文件路径.dart的导包格式中,包名必须和文件所属的包对应。你自己写的业务代码属于当前项目的包,不能挂在第三方依赖的包名下面导入;curved_navigation_bar第三方包的公开组件入口是curved_navigation_bar.dart,不存在home.dart这个对外暴露的文件,后续使用组件时不要写错导包路径。
内容的提问来源于stack exchange,提问作者Zephys
相关产品推荐
相关产品推荐

