我刚刚将我的项目更新到rc 4版本,并遇到了问题。
当我使用systemjs来配置我的项目时,一切正常。
当我使用webpack运行项目时(我正在使用angular2-webpack-starter),项目成功运行,没有bug。我可以通过[routerLink]配置的每个链接访问。
但是,如果我在浏览器的地址栏中输入相同的链接,却什么也没有发生。我的应用程序没有加载任何内容。以下是我的项目的一些屏幕截图:
有人能帮我吗?非常感谢。
我刚刚将我的项目更新到rc 4版本,并遇到了问题。
当我使用systemjs来配置我的项目时,一切正常。
当我使用webpack运行项目时(我正在使用angular2-webpack-starter),项目成功运行,没有bug。我可以通过[routerLink]配置的每个链接访问。
但是,如果我在浏览器的地址栏中输入相同的链接,却什么也没有发生。我的应用程序没有加载任何内容。以下是我的项目的一些屏幕截图:
有人能帮我吗?非常感谢。
这需要由你的后端服务器处理。
你需要将所有请求发送到索引页,以便Angular可以捕获请求并从那里解析路由。
发生的情况是当你访问你的索引(/)页面时,Angular接管了控制权,当你点击[routerlink]时,它会假装在浏览器中改变页面(实际上没有与服务器进行任何交互)。当你通过输入URL访问任何不是索引的页面时,你没有加载你的Angular应用程序,因此它无法在浏览器中编辑路由。通过将所有路由转发到索引,我们让Angular决定如何处理所有路由,而不是服务器。
var path = require('path')
app.get('/*', function(req, res) {
res.sendFile(path.join(__dirname + '/static/index.html'));
});
<base href="/">
。 - Harry Ninh