我已经阅读了一些有关SPA和客户端路由的教程。但是我没有完全理解它。如何设置路由器使其在没有Web服务器的情况下工作。
示例: 文件:/// C:/cxr/CXR-WebViews/dist/CXR-WebViews/index.html#/products/vat
浏览器将其作为index.html接受,但是我应该使用路由器片段来调用组件吗?
我无法在路由器中使用参数useHash:true,因为生成的URL:“ ... / index.html /#/ products / vat”将找不到该文件。仅当它是可将请求重定向到index.html的网络服务器调用时,此方法才有效。
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ProductGroupsComponent } from './products/product-groups/product-groups.component';
import { VatComponent } from './products/vat/vat.component';
import { ProductComponent } from './products/product/product.component';
import { AppComponent } from './app.component';
const routes: Routes = [
{ path: '', component: AppComponent, pathMatch: 'full' },
{ path: 'products', component: AppComponent, children:[
{ path: 'productGroups', component: ProductGroupsComponent },
{ path: 'vat', component: VatComponent},
{ path: ':id', component: ProductComponent }
]}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { useHash: true })],
exports: [RouterModule]
})
export class AppRoutingModule {}
我做错了一定是愚蠢的。我只是找不到它。我使用的是ng build --prod --base-href ./
答案 0 :(得分:0)
我只需要删除index.html中的meta标签base-href,然后就可以了