0

我想让 Rails 服务器加载一个 Angular 2 应用程序,所以我不必运行 2 个服务器。

作为 Angular 2 的起点,我使用了以下示例:https ://github.com/angular-class/angular2-webpack-starter

如果我运行 Rails 服务器并提供索引页面,Angular 2 应用程序将按预期加载。有几个链接 Home、Dashboard 和 Todo。单击时它们都起作用。

如果我直接打电话http://localhost:3000:/todo,我会收到路由错误。因此,为了解决这个问题,我的 rails 路由器中有以下内容:

get ':todo', controller: :home, action: :index

这将加载应用程序,但不会将我带到“待办事项”组件。

现在,如果我使用 webpack-dev-server 运行 Angular 2 应用程序(根据 repo 的说明),则不存在此问题。

看起来好像 webpack-dev-server 能够将所有请求重定向到 / 以允许 Angular 2 的路由接管并将用户引导到正确的组件。

任何帮助表示赞赏。

4

1 回答 1

0

事实证明,当我使用相同的代码对两台服务器进行测试时,我为每台服务器都有一个单独的索引文件。

Rails 服务器索引文件缺少以下行:

<base href="/">

添加后问题解决了。

于 2015-07-07T04:03:02.037 回答