dart中的完整路径和相对路径有什么区别

2023-12-24

我开发了一个 flutter 应用程序,在“model”包中定义了多个模型。

然后我声明一个类Example例如,在“模型”中。

模型/示例.dart

class Example {
  @override
  String toString() {
    return 'class example';
  }
}

测试_a.dart

import 'package:example/model/example.dart'

Example testA() {
  return Example()
}

测试.dart

import 'model/example.dart'
import 'test_a.dart'

test() {
  Example example = testA();
  if (example is Example) {
    print('this class is Example');
  } else {
    print('$example');
  }
}

我会得到输出class example????

如果我从import 'model/example.dart' to import 'package:example/model/example.dart'在 test.dart 中,然后我将得到输出this class is Example.

所以我很困惑 dart 中的完整路径和相对路径有什么不同。


包进口

'package:...从任何地方导入工作以从中导入文件lib/*.

相对进口

相对导入始终与导入文件相关。 如果lib/model/test.dart进口'example.dart',它导入lib/model/example.dart.

如果你想导入test/model_tests/fixture.dart从任何文件内test/*,您只能使用相对导入,因为包导入始终假设lib/.

这也适用于所有其他非lib/顶级目录如drive_test/, example/, tool/, ...

库/main.dart

目前,入口点文件存在一个已知问题lib/* like lib/main.dart在颤振中。https://github.com/dart-lang/sdk/issues/33076 https://github.com/dart-lang/sdk/issues/33076

Dart 总是假设入口点文件位于其他顶级目录中lib/ (like bin/, web/, tool/, example/,...)。 Flutter打破了这个假设。 因此,您当前不得在入口点文件中使用相对导入lib/

也可以看看

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dart中的完整路径和相对路径有什么区别 的相关文章

随机推荐

  • 如何使用解析器 gem 提取我想要的代码片段?

    我只是偶然发现这个解析器宝石 https github com whitequark parser 我想做的是从长文件中提取特定的方法 一个例子是这样的has manyRails 的方法 def has many name scope ni
  • Python:将 Base64 编码为基本连接到 API

    我正在尝试连接到 API 并且必须对用户名和密码进行编码 64 授权 值应如下所示 Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ 当我尝试连接时 出现错误 未经授权 凭据错误 支持人员说我的凭据没问题 但他们解决我的问题
  • 华氏度到摄氏度的转换仅产生 0.0 和 -0.0

    我正在阅读 Java 方法书的第 8 章 方法 构造函数和字段 但我的一个练习遇到了问题 提供的代码是Temperature java import java awt import java awt event import javax s
  • closeAllDocumentsWithDelegate 的正确参数

    我正在编写一个应用程序 需要在一个窗口中包含多个文档 正如所询问的那样here https stackoverflow com questions 1116886 multiple documents in a single window
  • eBay API - 检查Finding API调用计数?

    感谢该页面 https go developer ebay com api call limits https go developer ebay com api call limits我们知道 eBay 允许每个 eBay 开发者帐户每天
  • 如何编写涉及间接继承的Checkstyle自定义检查?

    我们需要编写一个 checkstyle 自定义检查来验证直接或间接继承自某个类 A 的类的特定条件 是否可以使用 checkstyle API 来识别间接继承 例如 假设我们有 C类 扩展 gt B类 B类 扩展 gt A类 在这种情况下
  • 指向结构成员的指针[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 手机是否仅使用 GPS 来获取其位置?

    我正在进行测试 我们正在比较 Android 手机和 GPS 设备的 GPS 位置 我们希望将其集成到我们的硬件中 但为了使测试准确 手机只需要使用 GPS 而不是手机信号塔和 WiFi 这是代码 我在其中设置手机使用哪种服务 Locati
  • 仅当调试器运行时防伪令牌异常

    我有一个 mvc2 应用程序 它通过 iframe 提供内容 iframed 页面只是一个表单 它有一个请求验证令牌 在开发人员使用 Visual Studio 2005 调试器之前 一切都可以跨域正常运行 一旦他们这样做 我就会收到以下错
  • 如何在本地安装 Haskell Stack?

    我正在学校服务器上工作 我需要安装 Haskell 的堆栈 在里面README https github com commercialhaskell stack blob master README md文件并在website https
  • iOS 应用程序开发建议。应用程序进入后台

    我正在享受 swift 的乐趣 并且正在尝试制作一个简单的游戏 我得到了一些在游戏过程中发生变化的变量 如果出现以下情况 保存这些变量的最佳实践是什么applicationDidEnterBackground对于所有其他功能appDeleg
  • 将矩阵并排放置以创建另一个矩阵

    我有一个由 12 个矩阵组成的数组 由以下代码给出 ma array sample 0 127 3 4 6 replace TRUE c 3 4 12 让他们被命名为A B C L 我想创建一个矩阵 其中上面的矩阵以 4 行 3 列的模式排
  • 应用程序被最近任务杀死后如何重新启动服务

    我创建了一项服务来定期获取设备的当前位置 我希望该服务在后台运行 即使该应用程序已从最近打开的应用程序中清除 目前 该服务仅在后台运行 直到应用程序出现在最近打开的应用程序中 但当应用程序被刷掉 或以其他方式终止 时 该服务会立即停止 我已
  • Numpy sum keepdims 错误

    Python 在矩阵上调用 numpy sum 函数时会抛出错误 probs exp scores np sum exp scores axis 1 keepdims True 错误 probs exp scores np sum exp
  • 奇怪的javascript变量重新赋值问题

    我有一个变量叫做data 它将数组带入函数 然后我决定继续仅使用数组的第一个元素 data 0 如果我执行以下任一操作 会有什么不同吗 重用 替换数组变量名data通过为其分配第一个元素 这将是 data data 0 并继续使用data
  • 如何禁用从移动浏览器上传文件的相机选项?

    我正在使用文件类型输入 它应该接受 pdf doc 和 docx 文件格式 所以我添加了以下输入标签
  • ViewCompat.setOnApplyWindowInsetsListener() 更改系统导航栏的背景

    应用程序通常有这样的导航栏 但是当我添加ViewCompat setOnApplyWindowInsetsListener ViewCompat setOnApplyWindowInsetsListener window decorView
  • 用户访问通讯录时崩溃报告

    在我的应用程序中 Crashlytics 用于收集用户的崩溃报告 这是来自用户的一份崩溃报告 这可能取决于用户的联系信息 我无法重现崩溃 因为我不知道他 她的联系人中有什么 有人对这种情况有想法吗 com apple root defaul
  • MongoDB:如何将嵌套数组分组到一个文档中?

    我有以下收藏 id 23423 dsfsdf 32423 name Proj1 services id sdfs 24423 sdf name P1 Service1 products id sdfs 24jhh sdf name P1 S
  • dart中的完整路径和相对路径有什么区别

    我开发了一个 flutter 应用程序 在 model 包中定义了多个模型 然后我声明一个类Example例如 在 模型 中 模型 示例 dart class Example override String toString return