Angular2 - 仅在服务器上路由时出错,而不是在localhost中

时间:2017-01-01 09:19:04

标签: angular angular2-routing

解决方案(它不是真正的解决方案,所以我只把它放在问题中):

毕竟,它仍然是大写/小写问题。我的overall-admin.routing.ts文件在之前的版本中是大写的,但我随后将它们更改为小写。但我的module.ts仍指Overall-admin.routing.ts(大写)。另外,有趣的是,服务器中有Overall-admin.routing.js的副本是大写的。因此系统会继续引用旧的routing file。当我删除旧的routing file时,它会在module.ts

上向我宣传错误
  

404,未找到Overall-admin.routing.js

当我意识到我仍然在Overall-admin.routing.ts中提到module.ts(大写)时。将引用更改为overall-admin.routing.ts(小写)后。它起作用了......

这不是技术方面的事情,但我希望如果发现这篇文章的人可以对他们的命名更加小心,并且不要浪费时间和精力来调试'这些像我一样。

原帖:

这个问题可能有点不寻常,但确实发生了(遗憾的是)。

我正在编写一个angular2 web应用程序,我正在使用延迟加载加载到各种组件中,然后在这些组件中导航。

一切正常,但是这个特定的一个在我的localhost中运行(使用npm start),但是,当我上传到服务器时它不起作用。它给了我这个错误:

  

EXCEPTION:未捕获(承诺):错误:无法匹配任何路线:   '整体管理员/确认'

当我按下按钮时,我将需要导航到这个新页面。

以下是我routing.module.ts的一部分:

const overallAdminRouting: Routes = [
  {
    path: '',
    component: OverallAdminComponent,
    children: [
      {
        path: 'confirm',
        component: OverallConfirmComponent
      }
    ]
  }
];

关注我的html

<!-- language: lang-html -->

    <button type="button" class="btn btn-default" 
            (click)="submitFormEnable(adminForm.value)" 

            >Enable User</button>

然后我的component.ts

submitFormDisable(value: any){
 this.router.navigate(['overall-admin/confirm']);
}

因此,当我按下按钮Enable User时,component.ts应导航至['overall-admin/confirm']以显示OverallConfirmComponent

但就像我上面提到的那样,它在我的localhost中工作,但不在我的服务器上。 我试图消除所有案例的差异,不同案例的多个文件,都不起作用。

知道我能做什么吗?

0 个答案:

没有答案