Почему мой компонент не найден в zonejs в angular 2.4 с машинописью

У меня есть угловой проект 2.45, написанный на Typescript. Я добавил новый компонент в модуль маршрутизации моего приложения, а также импортировал новый компонент.

Когда я запускаю приложение, я получаю следующую ошибку:

Unhandled Promise rejection: Component NewComponent is not part of any NgModule or the module has not been imported into your module. ; Zone: <root> ; Task: Promise.then ; Value: ZoneAwareError Error: Component NewComponent is not part of any NgModule or the module has not been imported into your module.
    at new Error (native)
    at JitCompiler._createCompiledHostTemplate (http://localhost:3000/static/src/assets/js/lib/@angular/compiler/bundles/compiler.umd.js:27482:23) [<root>]
    at eval (http://localhost:3000/static/src/assets/js/lib/@angular/compiler/bundles/compiler.umd.js:27448:41) [<root>]
    at Array.forEach (native) [<root>]
    at eval (http://localhost:3000/static/src/assets/js/lib/@angular/compiler/bundles/compiler.umd.js:27446:49) [<root>]
    at Array.forEach (native) [<root>]
    at JitCompiler._compileComponents (http://localhost:3000/static/src/assets/js/lib/@angular/compiler/bundles/compiler.umd.js:27435:47) [<root>]
    at createResult (http://localhost:3000/static/src/assets/js/lib/@angular/compiler/bundles/compiler.umd.js:27333:23) [<root>]
    at Zone.run (http://localhost:3000/static/src/assets/js/lib/zone.js/dist/zone.js:113:43) [<root> => <root>]
    at http://localhost:3000/static/src/assets/js/lib/zone.js/dist/zone.js:535:57 [<root>]
    at Zone.runTask (http://localhost:3000/static/src/assets/js/lib/zone.js/dist/zone.js:151:47) [<root> => <root>]
    at drainMicroTaskQueue (http://localhost:3000/static/src/assets/js/lib/zone.js/dist/zone.js:433:35) [<root>]
ZoneAwareError

Вот что я сделал в модуле маршрутизации приложений:

const routes: Routes =
[
    // common routes
    {
        path: 'NewComponent',
        component: NewComponent
    },
    ....
];
@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule { }

и в моем AppModule я добавил Component и RoutingModule в декларации и импортировал массив моего AppModule.

@NgModule({
  imports: [
    ...,
    AppRoutingModule,
],
declarations: [
    ....,
    NewComponent
],
bootstrap: [AppComponent]
)}
export class AppModule {}

Для всех других моих компонентов это работает точно так, как задумано. Angular находит компоненты, вводит все, что нужно, и правильно маршрутизирует.

Однако NewComponent просто не работает. Любые идеи о том, что может быть причиной?

1 ответ

Решение

Я нашел ошибку. Я неправильно импортировал компонент newComponent. У меня слишком много косых черт на пути к компоненту.

import { NewComponent } from './components//new.component';

против

import { NewComponent } from './components/new.component';

Компилятору машинописного текста (версия 2.15 для командной строки и код Visual Studio) было все равно. Zonejs /angular однако все равно!

Другие вопросы по тегам