Angular4:部署后问题

时间:2017-09-08 08:02:39

标签: angular deployment angular2-routing

我已经构建了一个Angular4应用程序,一切运行良好,但部署后我遇到了一个奇怪的问题 我有3条路线:
/AppComponent /loginLoginComponent /editor:我的EditorComponent

在开发模式下,当我在导航器localhost://4200/loginlocalhost://4200/editor的网址栏中写入工作正常但在部署后我执行此操作时,我得到404 Page not found !!
但是,当我使用像routerLink这样的角色<a routerLink="/login">Login</a>并点击它时,我会被成功重定向到LoginComponent !!

为什么(在部署之后)当我使用routerLink时一切正常但如果我尝试直接从导航器的url栏访问该组件,我得到404 Page not found?!!

1 个答案:

答案 0 :(得分:0)

刷新或直接访问您的应用程序时出现404错误,因为浏览器中的实际地址正在更新(没有#approach)。

  

如果您不想出现404错误,则需要将服务器更新为   为您定义的每个路径路径提供index.html文件。

如果要切换到HashBang方法,则需要使用此配置:

在AppModule.ts

import {LocationStrategy, HashLocationStrategy} from '@angular/common';  

providers:[
 {provide: LocationStrategy, useClass: HashLocationStrategy}
]

在这种情况下,当您刷新页面时,它会再次显示(但您的地址中会有#)。