簡體   English   中英

Angular 4-所有路線均無效

[英]Angular 4 - All routes not working

我有一個Angular應用程序,可以通過ng servelocalhost: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM