Module.DEFAULT_REFLECTOR未初始化

时间:2014-11-06 17:16:58

标签: dart dart-polymer angular-dart

我正在设置一个AngularDart / PolymerDart项目,但我继续针对以下错误运行:

Breaking on exception: Module.DEFAULT_REFLECTOR not initialized for dependency injection. http://goo.gl/XFXx9G

现在我已经阅读了错误结束时给出的url背后的页面并进行了一些Stackoverflowing,但我遇到的唯一解决方案是在pubspect.yaml中添加-angular作为变换器。所以我做到了。但是我仍然遇到同样的错误,我的项目也无法启动。

我的pubspec.yaml:

name: application
description: application
dependencies:
  angular: '>=1.0.0 <2.0.0'
  angular_node_bind: any
  core_elements: '>=0.3.2 <0.5.0'
  paper_elements: '>=0.5.0 <0.6.0'
  polymer: '>=0.14.0 <0.16.0'
  web_components: '>=0.9.0 <0.10.0'
dependency_overrides:
  args: '>=0.10.0 <0.12.0'
  code_transformers: '>=0.1.4+2 <0.3.0'
  html5lib: '>=0.10.0 <0.13.0'
  observe: '>=0.11.0 <0.13.0'
transformers:
- angular
- polymer:
    entry_points:
    - client/web/index.html

的index.html:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Application</title>

    <!-- include the web_components polyfills with support for Dart. -->
    <script src="../packages/web_components/platform.js"></script>

    <!-- imports -->
    <link rel="import" href="../packages/polymer/polymer.html">
    <link rel="import" href="components/component.html">

  </head>
  <body>

    <!--
      don't put ng-app on html or body. the polymer build inlines
      custom elements definitions, which can trigger bugs if the code
      inlined is inside of ng-app
     -->
    <div ng-app>      
      <section>
        <p>Angular</p>
        <p>
          <input type="text" ng-model="cool"> Angular binding: {{cool}}
        </p>
      </section>

      <section>
        <p>Polymer</p>
        <my-element message="[[ cool ]]"></my-element>
      </section>
    </div>

    <!-- initialize -->
    <script type="application/dart" src='dart/init.dart'></script>
    <script src="../packages/browser/dart.js"></script>

  </body>
</html>

init.dart:

import 'package:polymer/polymer.dart';
import 'package:angular/application_factory.dart';
import 'package:angular_node_bind/angular_node_bind.dart' show NodeBindModule;

void main() {
  initPolymer()
    .run(() {
     applicationFactory()
       .addModule(new NodeBindModule())
       .run();
    });

}

1 个答案:

答案 0 :(得分:1)

似乎&#34; web&#34;文件夹必须与pubspec.yaml位于同一文件夹中。我将web文件夹放在文件夹&#34; client&#34;中,这导致了问题。再次将Web文件夹放在项目根文件夹中可以解决问题。