问题
I'm setting up an AngularDart/PolymerDart project, but I keep running against the following error:
Breaking on exception: Module.DEFAULT_REFLECTOR not initialized for dependency injection. http://goo.gl/XFXx9G
Now I've read the page behind the url given at the end of the error and did some Stackoverflowing, but the only sollution I came across was adding -angular as a transformer in the pubspect.yaml. And so I did. But still I keep getting the same error and my project won't start.
My 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:
It appears that the "web" folder MUST be in the same folder as your pubspec.yaml. I placed the web folder inside a folder "client", which caused the problem. Putting the web folder in the project root folder again fixed the issue.
来源:https://stackoverflow.com/questions/26785441/module-default-reflector-not-initialized