我正在尝试创建一个简单的Angular 2 + Dart应用程序,我将对远程API进行HTTP调用。我正在关注此link上有关Dart的angular.io教程。它正在为JS正确编译,但当我尝试使用Chrome访问它时,我收到错误。
我正在使用Dart 1.16.0和angular2.beta17。
这是我的 pubspec.yml 文件:
name: CaixaPostal
description: MyApp Description
version: 0.0.1
environment:
sdk: '>=1.13.0 <2.0.0'
dependencies:
angular2: 2.0.0-beta.17
browser: ^0.10.0
http: ^0.11.3+7
dart_to_js_script_rewriter: ^1.0.1
transformers:
- angular2:
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'
- dart_to_js_script_rewriter
这是我的 main.dart 文件:
import 'package:angular2/platform/browser.dart';
import 'package:http/browser_client.dart';
import 'package:CaixaPostal/app.component.dart';
void main() {
bootstrap(AppComponent, const [BrowserClient]);
}
我已经完成 pub get ,我正在使用 pub serve 来运行本地Web服务器。当我访问http://localhost:8080/时,我在Chrome控制台上收到以下错误消息。但是,当我删除方法 bootstrap()的第二个参数时,它可以正常工作。
答案 0 :(得分:2)
我让它将我的 main.dart 修改为:
import 'package:angular2/core.dart';
import 'package:angular2/platform/browser.dart';
import 'package:http/browser_client.dart';
import 'package:CaixaPostal/app.component.dart';
BrowserClient HttpClientBackendServiceFactory() => new BrowserClient();
void main() {
bootstrap(AppComponent, const [
const Provider(BrowserClient, useFactory: HttpClientBackendServiceFactory, deps: const [])
]);
}
但是,我不知道为什么这种方式有效。它似乎与此问题https://github.com/angular/angular/issues/5266有关。