Angular2 + Laravel5 - 如何正确组织它们之间的路由?

Angular2 + Laravel5 - how to correct organize routing between them?

我玩L5和A2

我有 2 条 L5 路由:“/”(基础)和“/edit”。 我有 2 条 A2 路线:'/'(基础)和'/edit'(名称:'Edit');

当我将加载 blablabla.com 页面时,做一些事情 - Angular2 将通过 blablabla.com/edit url 上的“/edit”Angular2 路由重定向我。在此 A2 路线 - 将加载一些 A2 组件。

但是,当我停留在 blablabla.com/edit url 时,如果我重新加载页面 - 在 url blablabla.com/edit 运行 Laravel5 路线上 ' /edit' 出现 404 错误。

在这种情况下,如何将 L5 路由“/edit”连接到 A2 路由“/edit”?

事实上,刷新应用程序时出现 404 错误是正常的,因为浏览器中的实际地址正在更新(并且没有 # / hashbang 方法)。默认情况下,HTML5 历史用于 Angular2 中的重用。

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

如果你想切换到HashBang方式,你需要使用这个配置:

import {bootstrap} from 'angular2/platform/browser';
import {provide} from 'angular2/core';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {LocationStrategy, Location, HashLocationStrategy } from 'angular2/router'; 

import {MyApp} from './myapp';

bootstrap(MyApp, [
  ROUTER_PROVIDERS,
  provide(LocationStrategy, {useClass: HashLocationStrategy}
]);

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

这个 link 也可以帮助您:

关于 Lavarel,您需要为 Angular2 路由的每个元素配置重定向:Redirect::to($route)

这些 link 可以帮助您:

希望对你有帮助, 蒂埃里