这是一个Angular 1.0应用程序。 Chrome控制台中的错误是:
Uncaught Module.DEFAULT_REFLECTOR not initialized for dependency injection.http://goo.gl/XFXx9G
我已经阅读了其他帖子,而且我的pubspec.yaml中确实有Angular变换器:
dependencies:
barback: any
browser: any
angular: 1.0.0
msgpack:
git:
url: git://github.com/danellis/dart-msgpack.git
ref: master
dev_dependencies:
template_cache_transformer: any
threadsafe: yes
transformers:
- $dart2js:
environment:
MIRRORS: 'false'
- angular:
html_files:
- lib/templates/app.html
- lib/templates/input.html
- lib/templates/roster.html
- lib/templates/space.html
- lib/templates/space_list.html
- lib/templates/alerts.html
- lib/templates/rostermenu.html
- template_cache_transformer:
entry_point: webatara|templates/app.html
我的主要功能如下:
void main() {
applicationFactory().addModule(new WebataraModule()).run();
}
在pub build
之后,修改后的main.dart中包含此内容:
void main() {
setStaticReflectorAsDefault();
staticApplicationFactory(generated_static_metadata.typeAnnotations, generated_static_expressions.getters, generated_static_expressions.setters, generated_static_expressions.symbols, generated_static_type_to_uri_mapper.typeToUriMapper).addModule(new WebataraModule()).run();
}
setStaticReflectorAsDefault
这样做:
setStaticReflectorAsDefault() => Module.DEFAULT_REFLECTOR = new GeneratedTypeFactories(typeFactories, parameterKeys);
所以看起来Module.DEFAULT_REFLECTOR确实已经设置好了。那么为什么会出错?
答案 0 :(得分:2)
变压器按变压器部分列出的顺序应用。 $ dart2js应该始终是最后一个,template_cache_transformer
可能应该在angular
之前。