Я делаю руководство по быстрому старту и сталкиваюсь с некоторой ошибкой. Ниже моя файловая структура:

//## home/home.component.ts #################
import {Component} from '@angular/core';

@Component({
  selector:'home',
  template: `
<div>I'm a home component.</div>
`
})

export class HomeComponent{}

//## home/home.module.ts #################
import {NgModule} from "@angular/core";
import {HomeComponent} from "./home.component";

NgModule({
  declarations: [HomeComponent],
  exports: [HomeComponent]
});

export class HomeModule {
}

//## app.component.ts #################
import {Component} from "@angular/core";
@Component({
  selector: 'app',
  template: `
    <div>I'm the App Component</div>
  `
})
export class AppComponent {}

//## app.module.ts #################
import {AppComponent} from "./app.component";
import {BrowserModule} from "@angular/platform-browser";
import {NgModule} from "@angular/core";
import {HomeModule} from "./home/home.module"; //this breaks it

@NgModule({
  declarations: [AppComponent],
  bootstrap: [AppComponent],
  imports: [BrowserModule, HomeModule] //home module breaks it
})

export class AppModule{}

//## main.ts #################
import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
import {AppModule} from "./app.module";

platformBrowserDynamic().bootstrapModule(AppModule);

Я в замешательстве, так как это довольно простой пример. Модуль Home вызывает сбой приложения. Это дает следующую ошибку:

ZoneAwareErrormessage: "(SystemJS) Cannot set property 'stack' of undefined ... сопровождается сотнями одинаковых строк. У кого-нибудь есть идеи как отлаживать подобные ошибки?

0
userqwert 12 Янв 2017 в 22:58

4 ответа

Лучший ответ

Я не могу это исправить, но для тех, кто испытывает ту же проблему, избегайте краткого руководства и используйте angular-cli для генерации. Это кажется намного чище и легче понять, когда начинаешь.

ng new new-project --style=sass должен разобраться с вами.

0
userqwert 13 Янв 2017 в 18:27

Я получаю ту же ошибку, и это приводит к тому, что зона обнаружила ошибку в моем шаблоне. Я в Angular 2.4.1 и зоне 0.7.4, попробуйте обновить.

Кстати, я установил свойство шаблона для URL моего шаблона, это работает, поэтому, я думаю, в зоне может быть ошибка или что-то в этом роде.

0
locotor 13 Янв 2017 в 09:30

Если HomeModule является функциональным модулем, измените раздел объявлений на declarations: [CommonModule, HomeComponent]

0
Yakov Fain 13 Янв 2017 в 02:05

Вы должны импортировать CommonModule в HomeModule. Ваш код HomeModule будет выглядеть так:

import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";  // Add this
import {HomeComponent} from "./home.component";

NgModule({
  imports: [CommonModule],  // Add this
  declarations: [HomeComponent],
  exports: [HomeComponent]
});

export class HomeModule { }
0
Santanu Biswas 13 Янв 2017 в 09:43