无法在Angular 2中获得路由工作

时间:2016-09-26 21:48:37

标签: angular typescript routing

我的Angular 2应用程序(最新完整版本不是RC或beta)设置的结构与教程(https://angular.io/docs/ts/latest/guide/router.html)相同。当我把

Byte[] a = ms.ToArray();
String text = BitConverter.ToString(a);

在我的Index.html上,我收到以下404错误:

<base href="/" />

此行产生错误“JavaScript运行时错误:'系统'未定义”              System.import('app')。catch(function(err){console.error(err);});     

如果我删除了基本标签,上面都很好,但是我得到“没有设置基本href。请为APP_BASE_HREF标记提供一个值或者在文档中添加一个基本元素。”

如果我将基础href更改为

<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>

<!-- 2. Configure SystemJS -->
<script src="systemjs.config.js"></script>

,我没有得到任何404错误,但我收到错误“Unhandled Promise rejection:无法匹配任何路线:”

以下是我的app.routing.ts:

<base href="app" />

请帮忙。

由于

1 个答案:

答案 0 :(得分:0)

该错误意味着您的索引无法找到您提供的来源。

您的index.html是否可能与您引用的文件的级别不同?

-src/index, app
-node_modules/core-js/client/shim.min.js

如果您的设置是这样的,那么您必须为库文件../node_modules/core-js/client/shim.min.js等做一个相对路径...

此外,您的索引应该有<base href="/" />,因为这是应用程序引导程序的基础和初始值。所有其他文件将相对于该位置定位。

您的路由重定向应链接到您已命名的路径。 而不是'./app/batteries/batteries'使用'batteries'用于相对重定向,而'/batteries'用于相反的重定向。

如果你可以张贴一个plnk,那么如果这些还不够,那将是最有益的。