gpt4 book ai didi

dart - 从其他项目导入Dart代码

转载 作者:行者123 更新时间:2023-12-03 02:58:15 25 4
gpt4 key购买 nike

** 此问题已编辑并清理了一些 **

我有两个项目,我想使用另一个项目中的代码。我似乎在将代码放入正确的目录结构中以使导入语句正常工作时遇到麻烦。

这两个项目都是通过Mac上的Dart编辑器专门创建和管理的(如果有任何区别)。

项目目录结构
项目1:一个命令行应用程序,其中包含我要在以下目录结构中共享的代码:

/dart/command_line_app
/lib
shared_library.dart
/bin
command_line_app.dart

项目2:一个Web应用程序,希望将代码导入shared_libary.dart中

/dart/web_application
/packages
/web
web_application.dart

在文件shared_libary.dart中,我声明它是一个可以创建一个简单类的库,该类在实例化时提供输出:

library shared_library;

class ShareMe
{
ShareMe()
{
print("Hello, ShareMe");
}
}

这可以编译并在command_line项目中工作:command_line_app.dart具有以下内容:

import 'package:command_line_app/shared_library.dart';

void main() {
ShareMe shareMe = new ShareMe();

print("Hello, World!");
}

这将导入代码运行,同时打印“Hello Share Me”和“Hello World”。

问题
我想实例化web_application.dart中的ShareMe类。我以为可以通过输入与我的命令行代码相同的导入语句来做到这一点:

import 'package:command_line_app/shared_library.dart';

但是,当我将相同的导入内容放入web_appliation时,它得到了错误

Target of URI does not exist 'package:command_line_app/shared_library.dart'

我尝试过的其他事项
我确定当我单击Web_application上的属性并选择“项目引用”时,已经解决了该问题。

它打开一个窗口,允许我选择带有复选框的command_line_app,但是当我这样做时,出现错误:

Could not set the project description for 'web_application' because the project description file (.project) is out of sync with the file system.

不管什么意思。

当我单击带下划线的错误并尝试快速修复时,它为我提供了“解决依赖关系”,这听起来很有希望,但是几秒钟后,它又回来并通知我

Pub get failed, [1] Resolving dependencies... (15.3s)
Could not find package command_line_app at https://pub.dartlang.org.
Depended on by:
- web_application 0.0.0

我希望这种情况更加清楚,并能更好地洞悉我正在尝试做的事情和我遗失的事情。

最佳答案

编辑
您需要添加

dependencies:
command_line_app:
path: ../command_line_app

web_application/pubspec.yaml中的依赖项。

编辑END

如果要使代码在不同的包中可重用,则应将该代码放入该包的 lib目录中,然后使用 import 'package:mypackage/myfile.dart';导入。

您可能面临的另一个问题是,浏览器应用程序无法导入具有 dart:io依赖性的程序包。如果要在命令行和浏览器应用程序之间重用代码,则应将它们移到另一个包 my_shared_code的lib目录中,在其中只放置不依赖 dart:io的代码(例如某些实体类),然后从两个应用程序中导入此代码软件包(浏览器和命令行)。

关于dart - 从其他项目导入Dart代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24586239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com