我使用Angular CLI构建了一个Angular2应用程序,其中包含许多路由。 该应用程序工作正常。我可以使用链接,使用URL或使用路由器的导航功能导航到所有路由。我可以随时在浏览器中刷新页面。
但是当我尝试使用单独的Web服务器从dist / index.html提供我的应用程序时(在开发中使用括号IDE服务器或在生产中使用express / nginx / apache2),应用程序路由行为是不同的。
应用程序流程工作正常,但是直接点击URL(对于任何路由)或任何路由应用程序上的刷新页面显示无法获取/仪表板错误。这里的信息中心是我的路线名称。我在任何现有路由页面上刷新页面时遇到同样的错误。
我想应用程序只能从index.html正确启动,而不能从应用程序的任何地方启动。
我做错了,请帮助。
的index.html
<script>
System.import('system-config.js').then(function () {
System.import('main');
}).catch(console.error.bind(console));
</script>
main.ts
bootstrap(NgUnityAppComponent,[ HTTP_PROVIDERS, ROUTER_PROVIDERS ]);
ng-unity.component.ts文件
import { Component } from '@angular/core';
import { RouteConfig, ROUTER_DIRECTIVES } from '@angular/router-deprecated';
import {APP_ROUTES} from './ng-unity.routes';
import { NavbarComponent, FooterComponent, AboutUsComponent } from './shared/index';
import {NavbarService} from './shared/navbar/navbar.service';
@RouteConfig(APP_ROUTES)
@Component({
moduleId: module.id,
selector: 'ng-unity-app',
templateUrl: 'ng-unity.component.html',
styleUrls: ['ng-unity.component.css'],
directives: [ROUTER_DIRECTIVES, NavbarComponent, FooterComponent],
providers:[NavbarService]
})
export class NgUnityAppComponent {
}
我做错了什么?请帮忙。
答案 0 :(得分:0)
确保将其放在index.html的head元素中:
Angular2路由中的示例&amp;导航文档使用头部中的以下代码(它们解释了文档的实例示例中的原因):
文件撰写( '');当您刷新页面时,这将动态地将基本href设置为当前document.location。