【问题标题】:Getting error Cannot find module 'app/dashboard/first/first.module'出现错误找不到模块'app/dashboard/first/first.module'
【发布时间】:2018-01-11 00:16:59
【问题描述】:

我遇到了一个奇怪的错误。我正在开发基于 Angular 4 的项目。 遵循我的代码结构

  • 应用程序
  • app.component.html
  • app.component.ts
  • app.module.ts
  • app.routing.module.ts
    • 仪表板
    • dashboard.component.html
    • dashboard.component.ts
    • dashboard.module.ts
    • dashboard.routing.module.ts
      • 首先
      • first.component.html
      • first.component.ts
      • first.module.ts
      • first.routing.module.ts

当我尝试首先从仪表板加载时,出现以下错误。

    ERROR Error: Uncaught (in promise): Error: Cannot find module 'app/dashboard/first/first.module'.
Error: Cannot find module 'app/dashboard/first/first.module'.
    at webpackAsyncContext (src async:14)
    at SystemJsNgModuleLoader.webpackJsonp.../../../core/@angular/core.es5.js.SystemJsNgModuleLoader.loadAndCompile (core.es5.js:5644)
    at SystemJsNgModuleLoader.webpackJsonp.../../../core/@angular/core.es5.js.SystemJsNgModuleLoader.load (core.es5.js:5632)
    at RouterConfigLoader.webpackJsonp.../../../router/@angular/router.es5.js.RouterConfigLoader.loadModuleFactory (router.es5.js:3417)
    at RouterConfigLoader.webpackJsonp.../../../router/@angular/router.es5.js.RouterConfigLoader.load (router.es5.js:3401)
    at MergeMapSubscriber.project (router.es5.js:1569)

以下是我的 app.routing.module 代码

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
     { path: '', loadChildren: 'app/login/login.module' },
    { path: 'dashboard', loadChildren: 'app/dashboard/dashboard.module' },

];

@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule { }

在编译时没有错误。但是,当我在 dashboard.routing.module.ts 中添加一个空格并保存文件时,错误消失并且路由工作正常。它运行顺利,直到我重新启动节点服务器。

【问题讨论】:

  • 显示代码 app.routing.module.ts 文件,你是如何设置延迟加载路径的?
  • 我已经编辑了我的问题并添加了 app.routing.module 代码。
  • app.routing.module.ts 文件中的第一个模块加载子路径在哪里?
  • 谢谢萨西什。该链接帮助我解决了问题。我重新访问了所有模块并从'export default class AppRoutingModule {}'中删除了默认值。我有一些其他模块默认是导致问题的原因。

标签: angular


【解决方案1】:

尝试像这样更改代码。

   const routes: Routes = [
                    { path: '', loadChildren: 'app/login/login.module#loginModule'},
                    { path: 'dashboard', loadChildren: 'app/dashboard/dashboard.module#dashboardModule' },     
                    { path: 'dashboard/first',loadChildren:'app/dashboard/first.module#firstModule'}
                 ];
               @NgModule({
                    imports: [RouterModule.forRoot(routes)],
                    exports: [RouterModule]
           })
        export class AppRoutingModule { } 

查看更多关于 loadChildren 信息Loadchildren concept

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-30
    • 2019-03-08
    • 2022-01-20
    • 2019-06-30
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多