angular - Dart中的 “Unable to find modules for some sources…”错误

标签 angular routing dart

我正在学习dart并尝试制作一个简单的webapp,它应该可以创建用户。

但是,当我尝试运行它时,出现以下消息:

[SEVERE] build_web_compilers|entrypoint on web/main.dart (cached): Unable to find modules for some sources, this is usually the result of either a bad import, a missing dependency in a package (or possibly a dev_dependency needs to move to a real dependency), or a build failure (if importing a generated file).

Please check the following imports:

import 'package:Muellbot/app_component.template.dart' as ng; from Muellbot|web/main.template.dart at 9:1 import 'package:Muellbot/app_component.template.dart' as ng; from Muellbot|web/main.dart at 2:1

[SEVERE] Failed after 2.2s



这是我的文件:

主镖
import 'package:angular/angular.dart';
import 'package:Muellbot/app_component.template.dart' as ng;
import 'package:angular_router/angular_router.dart';

import 'main.template.dart' as self;

@GenerateInjector(
  routerProvidersHash,
)
final InjectorFactory injector = self.injector;

void main() {
  runApp(ng.AppComponentNgFactory, createInjector: injector);
}

appComponent.dart
import 'package:angular/angular.dart';
import 'package:angular_router/angular_router.dart';

import 'src/routes.dart';

@Component(
  selector: 'my-app',
  styleUrls: ['app_component.css'],
  templateUrl: 'app_component.html',
  directives: [routerDirectives],
  exports: [RoutePaths, Routes],

)
class AppComponent {

}

appComponent.html
<h1>Müllbot</h1>
<nav>
    <a [routerLink]="RoutePaths.home.toUrl()"
   [    routerLinkActive]="'active'">Home</a>
    <a [routerLink]="RoutePaths.newUser.toUrl()"
       [routerLinkActive]="'active'">Neuen Benutzer anlegen</a>
</nav>
<router-outlet [routes]="Routes.all"></router-outlet>
<img src="logo.png" width="50%">

route.dart
import 'package:angular_router/angular_router.dart';

import 'route_paths.dart';
import 'home_component.template.dart' as home_template;
import 'create_new_user_component.template.dart' as new_user_template;

export 'route_paths.dart';

class Routes {
  static final home = RouteDefinition(
    routePath: RoutePaths.home,
    component: home_template.HomeComponentNgFactory,
  );
  static final newUser = RouteDefinition(
    routePath: RoutePaths.newUser,
    component: new_user_template.NewUserComponentNgFactory,
  );

  static final all = <RouteDefinition>[
    home,
    newUser,
  ];
}

routhe_paths.dart
import 'package:angular_router/angular_router.dart';

class RoutePaths {
  static final home = RoutePath(path: 'home');
  static final newUser = RoutePath(path: 'newUser');

}

home_component.html
    <h4>Hallo {{user.firstName}}</h4>

home_component.dart
import 'package:angular/angular.dart';

import 'user.dart';

@Component(
  selector: 'home',
  templateUrl: 'home_component.html'
)

class HomeComponent {

  User user = new User('Axel', 'Foley', 'axel@sfoley.de');

}

create_new_user_component.html
<h3>Neuen Benutzer anlegen</h3>
<div>
    <span *ngIf="!create" id="error">Fehler</span>
    <span *ngIf="create" id="success">Benutzer angelegt</span>
    <table>
        <tr>
            <td><label>Vorname:</label></td><td><input #firstName/></td>
            <td><label>Nachname:</label></td><td><input #lastName/></td>
        </tr><tr>
            <td><label>Email:</label></td><td><input #email/></td>
        </tr><tr>
            <td><label>Passwort:</label></td><td><input #password/></td>
            <td><label>Passwort wiederholen:</label></td><td><input #passwordRe/></td>
        </tr><tr>
            <td><button (click)="add(firstName.value, lastName.value, email.value, password.value)">Hinzufügen</button></td>
        </tr>
    </table>
</div>

create_new_user_component.dart
import 'dart:async';
import 'dart:convert';
import 'package:http/http.dart';

import 'package:angular/angular.dart';


@Component(
  selector: 'new-user',
  templateUrl: 'create_new_user_component.html'
)

class NewUserComponent {
  bool create = false;
  final Client _http;
  static final _headers = {'Content-Type': 'application/json'};
  final url = "http://localhost:4040/user/new";

  Future<void> add(String firstName, String lastName, String email, String password) async {
    try {
      final response = await _http.post(url, headers: _headers, body: json.encode({'firstName': firstName, 'lastName': lastName, 'email': email, 'password': password}));
      if (response.statusCode == 200) {
        create = true;
      }
    } catch (e) {
      throw new Exception(e);
    }
  }
}

最佳答案

可以移除

<span *ngIf="!create" id="error">Fehler</span>
<span *ngIf="create" id="success">Benutzer angelegt</span>

帮助了。

但是现在我又遇到了另一个错误。服务器加载,当我访问页面时,它只是说
Loading...

在控制台中,我收到消息
TypeError: e.message is undefined

关于angular - Dart中的 “Unable to find modules for some sources…”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52283625/

相关文章:

javascript - 从 Angular 中的服务获取唯一数组

angular - 如何使 "Service Worker"在本地网络中工作?

attributes - ASP.NET WEB API 自承载属性路由

dart - 如何启动 angular.dart 应用程序

android - 当手指移动时,捏合缩放会被清除

dart - 如何在Dart中将参数从一个函数批量移动到另一个函数?

angular - 我的 ionic 内容与 Ionic 4 中的标题重叠

php - 交响乐 2 : route defined in annotation not visible from by Twig's path()

asp.net-mvc - 如何更改 MVC5 中的默认 URL

angular - 如何处理 Angular 中不同模板的未定义数组?