我正在构建一个Angular 2应用程序,我正在使用html5路由。
我偶然发现了嵌套路由的问题。问题是,当我定义/route1
时,它可以正常工作,但如果是/route1/child-route
,则无法正常工作。
我使用browserSync
来提供文件,我使用中间件重定向到index.html。到目前为止,我已经看到问题出在编译的TypeScript文件和使用相对URL的SystemJS上,例如,当请求app.js
时,服务器正在查找位置/route1/app.js
中的文件。有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
https://angular.io/docs/ts/latest/guide/router.html
在
<head>
标记之后添加基本元素。如果app
文件夹是应用程序根目录,就像我们的应用程序一样,请将href
值完全设置为,如下所示。
<base href="/">
或者添加
import {provide} from 'angular2/core';
import {APP_BASE_HREF} from 'angular2/router';
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(APP_BASE_HREF, {useValue : '/' });
]);
在你的引导程序中。