飞镖忽略依赖?

Dart ignore dependency?

如何忽略项目中的依赖项?

我的项目设置是:

项目A:依赖于Angular2 & 依赖于Foundation

项目基金会:取决于Redstone_mapper_mongo

问题是我想在我的项目 A 中使用 angular2,这取决于我的项目基础。然而,Project Foundation 使用红石映射器 mongo 但 angular2 和红石映射器 mongo 不能一起工作。

问题:

所以在我的基础上是这样的。我可以忽略这些@Field()、@NotEmpty 和项目 A 中的导入吗?那么 angular 在项目 A 中工作得很好吗? 因此红石映射器 mongo 不应加载到项目 A 中。 但是我该怎么做呢?

import 'package:redstone_mapper/mapper.dart';

class Address {
  @Field()
  @NotEmpty()
  String street;

  @Field()
  @NotEmpty()
  String city;
}

[更新]

我现在的项目A中有这些依赖。我加了 code_transformers: ^0.5.1

项目 A pubspec.yaml

dependencies:
      angular: "^4.0.0+2"
      angular_forms: "^1.0.0"
      foundation:
         path: ../foundation
    dependency_overrides:
        code_transformers: ^0.5.1



    dev_dependencies:
      angular_test: ^1.0.0
      browser: ^0.10.0
      dart_to_js_script_rewriter: ^1.0.1
      test: ^0.12.30

    transformers:
    - angular:
        entry_points:
        - web/main.dart
        - test/**_test.dart
    - test/pub_serve:
        $include: test/**_test.dart
    - dart_to_js_script_rewriter

基金会pubspec.yaml

dependencies:
  intl: "^0.15.2"
  http: "^0.11.3+16"
  great_circle_distance: "^1.0.1"
  redstone_mapper_mongo: "0.2.0-beta.1"
  jaguar_serializer: "^0.5.1"

dev_dependencies:
  browser: "^0.10.0+2"
  dart_to_js_script_rewriter: "^1.0.3"

transformers:
  - dart_to_js_script_rewriter

在Angular项目中添加

dependency_overrides:
  code_transformers: ^0.5.1
  analyzer: 0.30.0+4

应该修复它

在基金会项目中我添加了一个我自己的空实现的本地依赖

redstone_mapper_mongo:
   path: ../redstone_mapper_mongo

在这个空的实现中,刚刚声明了 Field 和 NotEmpty 注释。

library redstone_mapper;

class Field {
  const Field();
}

class NotEmpty {
  const NotEmpty();
}

像这样,现在项目 A 可以毫无问题地使用本地变体和 Angular2。并且无需创建模型对象的第二个世界。

我在我的项目 B 中使用了 dependency_overrides 和 redstone_mapper_mongo 的真实版本,因此注释 @Field 和 @Empty 使用了 redstone_mapper_mongo 的真实实现。 现在一切正常。

dependency_overrides:
   redstone_mapper_mongo: "0.2.0-beta.1"