angular4 – 所有路线不工作
我有一个Angular应用程序在localhost:4200
下正常工作,使用ng serve
; 节点服务器在localhost:3000
。
当我ng build
一个捆绑文件正在创build,并正确地在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文档
url取决于您select的策略:
PathLocationStrategy:localhost:3000 / user / id
HashLocationStrategy:localhost:3000 /#/ user / id
你可以修改app模块中的 useHash属性来在两者之间切换:
@NgModule({ imports: [ BrowserModule, FormsModule, RouterModule.forRoot(routes, { useHash: true }) // .../#/user/id ], ... });
这就是说,如果你的URL不匹配,你的GET应该会失败。