构建项目后,Angular 2 路线不起作用

use*_*234 5 angular2-routing angular

这些是我的路线:

import { Routes } from '@angular/router';
import {WelcomeComponent} from "./welcome/welcome.component";
import { LoginComponent } from './login/login.component';

export const routes: Routes = [
  {path: '', component: WelcomeComponent},
  {path: 'login', component: LoginComponent},
  {path: '**', component: WelcomeComponent}
];
Run Code Online (Sandbox Code Playgroud)

我使用ng buid.

当我输入未定义的路径时,我希望应用程序'/'在开发过程中重定向到路径,但我收到 404 错误。

即使我手动输入 /login URL 也会出现同样的错误。

我错过了什么?

use*_*234 7

正如@Milad 所说,我必须将所有 get 请求重定向到 index.html。添加.htacces文件解决了我的问题:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)


Mil*_*lad 5

您需要确保是通过快速服务器或任何其他网络服务器为您的应用程序提供服务,您应该将所有 get 请求重定向到index.html.

只要您的服务器没有将所有请求重定向到index.html,您的 Angular 应用程序内部发生了什么都无关紧要。