3 回答
TA贡献1820条经验 获得超2个赞
在角度上有定位策略
查看app.module.ts在哪里启动应用程序
@NgModule({
.......
providers: [
....
{ provide: LocationStrategy, useClass: HashLocationStrategy },
....
]
});
并删除此部分,因为PathLocationStrategy是默认策略
TA贡献1877条经验 获得超1个赞
上面的答案具有从URL中删除哈希的正确解释,但是当您更改LocationStrategy后端时,后端将无法理解所有Angular 2路由,因此会受到影响。以下是在后端支持下删除哈希的步骤。
1)更改Angular以使用PathLocationStrategy
@NgModule({
.....
providers: [
// Below line is optional as default LocationStrategy is PathLocationStrategy
{provide: LocationStrategy, useClass: PathLocationStrategy}
]
})
2)在index.html中更改基准Href,Angular2将处理基准Href之后的所有路由
<base href="/app-context/">
例如
<base href="/app/">
3)在后端服务器上,对于任何以下格式的请求,我们都必须呈现index.html文件
"/app/**" - Render index.html for any request coming with "/app/**" pattern
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>My App</title>
<base href="/app/">
</head>
<body>
<app-root>Loading...</app-root>
<script type="text/javascript" src="vendor.bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>
</body>
</html>
- 3 回答
- 0 关注
- 377 浏览
添加回答
举报