【发布时间】:2019-06-09 08:32:24
【问题描述】:
为了让这个问题有任何意义,我将首先解释我当前的项目结构。对于我工作的公司,我创建了一个平台,可以为我们拥有的每个客户快速构建和定制应用程序。所以该项目使用 2 个存储库。
1) 应用程序存储库
此存储库包含应用程序的所有可自定义文件。基本上就是整个flutter项目,没有lib和test目录。
2) 核心存储库
为了使应用程序正常运行,核心存储库被加载到应用程序存储库中。 (这包含所有 .dart 文件)。我们这样做是因为如果我们对核心进行更改,它会在我们创建的所有应用程序中通过对核心执行简单的 git pull 进行更新。
现在是我想不通的部分。我们现在有一个客户想要在应用程序中使用自定义功能。我们无法再次使用此功能,因此我想将该段代码添加到应用程序存储库中。这是文件结构(只显示需要的)
项目
- 资产
- customLib(客户定制工作的文件,应用程序仓库的一部分)
- lib(此目录中的所有文件均来自核心存储库)
- 测试(此目录中的所有文件均来自核心 repo)
- pubspec.yaml
在我正在加载的核心应用程序的一个文件中。
这是文件 /lib/Library/ModuleRouter.dart
像这样加载它: import '../../customLib/customLibs.dart';
我尝试什么并不重要,但是当我超出放置 main.dart 的范围时,根本找不到代码。这些文件虽然存在。
这是我从编译器得到的错误:
Compiler message:
Error: Invalid package URI 'package:/customLib/customLibs.dart':
Invalid argument (packageUri): Package URIs must not start with a '/': Instance of '_SimpleUri'.
lib/Library/ModuleRouter.dart:25:8: Error: Not found: 'package:/customLib/customLibs.dart'
import '../../customLib/customLibs.dart';
抱歉,这篇文章太长了,但我想解释一下整个项目,以便更好地了解当前项目。
我希望有人可以帮助我解决这个问题。
亲切的问候,
凯文·沃尔特
【问题讨论】: