Dart忽略依赖?

时间:2018-03-06 10:51:33

标签: dart redstone.dart

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

我的项目设置为:

项目A:取决于 Angular2 & 取决于基础

项目基础:取决于 Redstone_mapper_mongo

问题是我想在我的项目A中使用angular2,这取决于我的Project Foundation。然而,Project Foundation使用redstone mapper mongo但angular2和redstone mapper mongo不能一起使用。

问题:

所以我的基金会是这样的。我可以在项目A中忽略这些@Field(),@ NoEmpty和导入吗?那么角度在项目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

Fondation 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

2 个答案:

答案 0 :(得分:2)

在Angular项目中添加

dependency_overrides:
  code_transformers: ^0.5.1
  analyzer: 0.30.0+4

应该解决它

答案 1 :(得分:1)

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

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"