飞镖忽略依赖?
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"
如何忽略项目中的依赖项?
我的项目设置是:
项目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"