如何在flutter中将另一个包中的类或函数调用到另一个包?
Posted
技术标签:
【中文标题】如何在flutter中将另一个包中的类或函数调用到另一个包?【英文标题】:How to call class or functions in another packages to another packages in flutter? 【发布时间】:2019-11-15 00:28:44 【问题描述】:我有一个这样的结构项目:
我尝试在 Flutter 上实现 modularization
,就像在 android 本机(Java 和 Kotlin)上实现 separate
之间的 functions
并加快构建过程并简化未来 maintenance
。
在图片中,有一个名为“cari_mobile_flutter_main
”的root project
和两个名为“cari_news
”和“cari_network
”的flutter包。我设法通过setting
将2 packages
与root project
连接起来,将root project
中的path
与pubspec.yaml
连接起来。这样根目录下的lib
文件夹就可以从both packages
access/call
class
和functions
。
问题是how can each package be connected so that they can call each other's class or function?
例如:“cari_news
”可以调用“cari_network
”中的class
或functions
。能做到吗?
因为我尝试在包之间设置path
上的path
却不行,出现这样的错误:
我已经尝试点击右上角的“packages get”,得到如下结果:
在 cari_news 中运行“flutter packages get”... 因为 cari_news 依赖于路径中的 cari_network 而不是 存在(在“cari_network”中找不到包 cari_network),版本 解决失败。 pub get failed (66) Process finished with exit code 66
我尝试将cari_network
与cari_news
链接,以便cari_news
包可以调用cari_network
包中的class
和functions
。但那不可能。谁能帮帮我?
【问题讨论】:
已经有一个类似的线程。如果可行,请尝试解决方案。 ***.com/questions/51238420/… 我已经试过了,但是像上图那样在包里设置路径还是不行 【参考方案1】:我的错误,对于我的问题的答案,我只是将../cari_network
添加到path
部分。因为cari_network
包的位置在root
项目中,而cari_news
在root
项目中,而pubspec.yaml
在cari_news
包中。所以要找到cari_network
包,只需添加一个../
即可。
【讨论】:
以上是关于如何在flutter中将另一个包中的类或函数调用到另一个包?的主要内容,如果未能解决你的问题,请参考以下文章