2017-02-23 10 views
0

しばらくの間、私はAngular2ダーツコードジェンが開発の道を歩んでいるという印象を受けました。残念ながら、私はもうcodegenを使用することはできません。私のpubspec.yamlは動作しませんし、エラーを生成します。/transform/codegen部分のみを削除することで、エラーはなくなります。パールビルドは、angle2ダーツの場合にエラーを投げます。codegen

name: frontend 
version: 0.0.1 
description: Regatta frontend 
author: 
homepage: https://regatta.atlassian.net 
documentation: 

environment: 
    sdk: '>=1.19.0 <2.0.0' 

dependencies: 
    angular2: 3.0.0-alpha 
    angular2_components: 0.3.1-alpha 
    reflectable: 1.0.1 
    sass_transformer: 0.1.2+1 
    greencat: 0.0.2 
    browser: 0.10.0+2 
    http: 0.11.3+9 
    stream_transformers: 0.3.0+3 

dev_dependencies: 
    test: 0.12.19 
    dart_to_js_script_rewriter: 1.0.2 
    dart_style: 0.2.16 
    pageloader: 2.2.5 
    mockito: 1.0.1 
    angular_test: 1.0.0-alpha+5 

transformers: 
    - sass_transformer 
    - angular2/transform/codegen: 
     platform_directives: 
     - 'package:angular2/common.dart#COMMON_DIRECTIVES' 
     platform_pipes: 
     - 'package:angular2/common.dart#COMMON_PIPES' 
     entry_points: web/main.dart 
     resolved_identifiers: 
     BrowserClient: 'package:http/browser_client.dart' 
     Client: 'package:http/http.dart' 
    - angular2/transform/reflection_remover: 
     $include: 
     - test/**_test.dart 
     - web/main.dart 
    - reflectable: 
     entry_points: 
     - web/main.dart 
     formatted: true 
    - test/pub_serve: 
     $include: test/**_test.dart 
    - dart_to_js_script_rewriter 

エラーメッセージ

pub build 
Loading source assets... 
Loading angular2/transform/codegen, dart_to_js_script_rewriter, sass_transformer, reflectable, test/pub_serve and reflectable/src/transform_import transformers... 
Loading angular2 and angular2/transform/reflection_remover transformers... (3.9s) 
[Error from DirectiveMetadataLinker on frontend|lib/components/navigation_bar_component/navigation_bar_component.ng_summary.json with input frontend|lib/components/navigation_bar_component/navigation_bar_component.ng_meta.json]: 
Missing identifier "materialProviders" needed by "NavigationBarComponent" from metadata map 
[Error from DirectiveMetadataLinker on frontend|lib/components/event_list_component/event_list_component.ng_summary.json with input frontend|lib/components/event_list_component/event_list_component.ng_meta.json]: 
Missing identifier "materialProviders" needed by "EventListComponent" from metadata map 
[Error from DirectiveMetadataLinker on frontend|lib/components/event_detail_component/event_detail_component.ng_summary.json with input frontend|lib/components/event_detail_component/event_detail_component.ng_meta.json]: 
Missing identifier "materialProviders" needed by "EventDetailComponent" from metadata map 
[Error from TemplateCompiler on frontend|lib/app_component.ng_meta.json]: 
Could not find Directive/Pipe entry for name: NavigationBarComponent 
. Please be aware that Dart transformers have limited support for reusable, pre-defined lists of Directives/Pipes (aka "directive/pipe aliases"). See for details. 
Building frontend... (12.2s) 
+1

こんにちはファビアン 私は簡単に見ました - それは動作しているようです - 例えば、ギャラリーアプリケーション(https://dart-lang.github.io/angular2_components_example/)は、時コードの生成: https://github.com/dart-lang/angular2_components_example – matanlurey

答えて

1

それはすでにhttps://github.com/dart-lang/angular2/blob/master/lib/src/transform/transformer.dart#L37反射除去段階を含んでいるので、私は、標準的なトランスを使用してお勧めします。

alternate transformer angular2/transform/codegenを使用する必要がある場合は、同じトランスフォーマを使用するangular2_componentsのバージョンが必要です。

は、私はあなたのpubspec.yamlにこれを追加することによって実験:

dependency_override 
    angular2_components: 
    path: ../../angular2_components 

を私は提供経路では、私が使用するpubspec.yamlファイルを変更されたgitのレポのローカルクローンを持っていた:

transformers: 
    - angular2/transform/codegen: 
    ... 

これにより、パッケージの構築が可能になりました。

+0

ありがとう、それは問題であるようです。なぜ変圧器をcodegenに変更したのか正確にはわかりません。私はいくつかのチュートリアルでそれを示唆していたに違いないと思っていて、その時にもそれはうまくいった私は今再び元の変圧器を使用し、それに満足しています。少なくともこの問題はあります。もう1つは別のバグレポートです... – Fabian

関連する問題