【问题标题】:Dart: Target of URI does not existDart:URI的目标不存在
【发布时间】:2014-01-15 02:46:46
【问题描述】:

我的 Dart 应用项目结构:

myapp/
    pubspec.yaml
    pubspec.lock
    asset/
        ...assets
    build/
    packages/
    web/
        lookups/
            AjaxLookups.dart
        requests/
            RESTClient.dart
            AjaxRESTClient.dart

AjaxLookups 文件:

library myapp;

abstract class AjaxLookups {
    static final String BASE_URL = "/myapp";
    static final String DO_S0METHING_SERVICE_URL = BASE_URL + "/doSomething";
}

RESTClient 文件:

library myapp;

typedef void Callback(String json);

abstract class RESTClient {
    void get(String url, Callback onFail, Callback onSuccess);

    void post(String url, String dataJSON, Callback onFail, Callback onSuccess);
}

AjaxRESTClient 文件:

library myapp;

import "RESTClient.dart";
import "../lookups/AjaxLookups.dart";
import "dart:html";
import "dart:convert" show JSON;

class AjaxRESTClient implements RESTClient, AjaxLookups {
    // ...
}

以上,AjaxLookups 的导入语句导致编译器错误:

URI 的目标不存在:'../request/AjaxLookups.dart'

为什么我会得到这个?为什么 Dart 找不到../request/AjaxLookups.dart?我需要做什么来修复它?

【问题讨论】:

    标签: import compiler-errors dart project-structure


    【解决方案1】:

    看起来文件 AjaxLookups.dart 位于查找文件夹中,因此您的导入应该是:

    import "../lookups/AjaxLookups.dart";
    

    【讨论】:

    • 抱歉@ringstaff - 这是一个剪切粘贴错误 - 我的导入语句确实 包含“查找”而不是“请求” - 谢谢思考!跨度>
    【解决方案2】:

    我想通了。我在每个源文件中声明了一个新的myapp 库。相反,我添加了一个 main/driver Dart 文件,在其中声明了一个名为 myapp 的库,然后将所有其他源文件更改为 part of myapp;

    【讨论】:

      猜你喜欢
      • 2019-05-25
      • 2021-01-12
      • 2022-07-06
      • 2011-06-08
      • 2016-04-17
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多