我只是将我的项目更新到版本rc 4并解决了问题。
当我使用systemjs配置我的项目时,一切正常。
当我使用webpack运行项目时(我正在使用angular2-webpack-starter),项目运行成功,没有错误。我可以转到[routerLink]配置的每个链接。
但如果我在浏览器的地址栏中输入网址,请使用相同的链接。什么也没发生。我的应用没有加载任何东西。 这是我项目的一些屏幕截图:
任何人都可以帮助我吗?我非常感谢你。
答案 0 :(得分:2)
这需要由后端服务器处理。
您需要将所有请求发送到索引页面,以便Angular可以接收请求并从那里解析路由。
当您访问索引(/)页面时发生的事情Angular接管,当您单击[routerlink]时,它会假装更改浏览器中的页面(它实际上并没有对服务器执行任何操作)。当您通过键入URL访问任何不是索引的页面时,您没有加载Angular应用程序,因此无法在浏览器中编辑路由。通过将所有路由转发到索引,我们让Angular决定应该如何处理所有路由,而不是服务器。
答案 1 :(得分:0)
如果您通过JS提供内容。添加此代码以表达路线
var path = require('path')
app.get('/*', function(req, res) {
res.sendFile(path.join(__dirname + '/static/index.html'));
});