[英]Angular 4 - All routes not working
我有一个Angular应用程序,可以通过ng serve
在localhost:4200
正常工作; 节点服务器位于localhost:3000
。
当我执行ng build
时,由于app.use(express.static(path.join(__dirname, 'path/to/dist')));
正在创建一个捆绑文件,并在localhost:3000
正确提供该文件app.use(express.static(path.join(__dirname, 'path/to/dist')));
但是在localhost:4200/user/id
上工作的路由在localhost:3000/user/id
给出了一个错误,指出它Cannot GET /user/id
。
任何想法导致问题的原因是什么? 我在index.html
文件中包含了<base href="/">
。
听起来好像是您的路由位置策略导致了此问题。
直接来自Google的注释:
Angular 4文档
网址取决于您选择的策略:
PathLocationStrategy:本地主机:3000 /用户/ ID
HashLocationStrategy:本地主机:3000 /#/用户/ ID
您可以在应用模块中修改useHash属性以在两者之间切换:
@NgModule({
imports: [
BrowserModule,
FormsModule,
RouterModule.forRoot(routes, { useHash: true }) // .../#/user/id
], ...
});
也就是说,如果URL不匹配,则GET应该会失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.