Flutter 如何导入位于另一个本地目录中的包

Flutter 如何导入位于另一个本地目录中的包

问题描述

我正在开发一个Flutter项目,我需要将一个名为”mbcl”的包导入到我的项目中。该包的pubspec.yaml文件位于路径~/lib/mbcl/pubspec.yaml,而我的项目的pubspec.yaml文件位于~/app/pubspec.yaml。

我不确定如何将这个外部包包含到我的Flutter项目中。请问有人可以指导我如何正确导入”mbcl”包,同时保持我的项目有序和高效吗?非常感谢任何帮助。

以下是我尝试添加到项目的pubspec.yaml中的内容,

dependencies:
  ...
  mbcl:
    path: lib/mbcl/

我本来期望这个应该可以工作的,因为mbcl位于与应用程序相邻的目录中。 这是我的目录结构,

项目目录mathebuddy的内容

mathebuddy
│
├── app
│     │
│     ├─ pubspec.yaml(1)
│     
├── lib
│     │
│     ├─ mbcl
│         │      
│         ├─pubspec.yaml(2)

解决方案

你离成功就差一点了。不过还有一件小事:

相对路径是允许的,并且被视为相对于包含你的pubspec文件的目录。参考链接:https://dart.dev/tools/pub/dependencies#path-packages

你的参考点是你的应用的pubspec.yaml文件。所以对于mbcl包来说,相对路径应该是../lib/mbcl,像这样:

dependencies:
  mbcl:
    path: ../lib/mbcl

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Android 精选笔记