即使后者更好,我也必须这样做的原因是,因为所有浏览器都无法使用<browser-extension-scheme>://<extension_GUID>/#/route
URL重新加载扩展页面,所以它们会出错,我当然对设置扩展的html感到惊讶manifest.json中"index.html#route"
中的页面位置会将页面加载到正确的路由而没有问题。
我搜索了文档以确认是否可以配置以及如何配置。
这是我当前配置路由器的方式:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NewTabComponent } from './new-tab/new-tab.component';
import { OptionsComponent } from './options/options.component';
import { PopupComponent } from './popup/popup.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
const routes: Routes = [
{ path: 'popup', component: PopupComponent },
{ path: 'options', component: OptionsComponent },
{ path: 'options/:option', component: OptionsComponent },
{
path: 'newtab',
component: NewTabComponent,
data: { title: 'a title' }
},
{ path: '', redirectTo: '/newtab', pathMatch: 'full' },
{ path: '**', component: PageNotFoundComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes, {useHash: true})],
exports: [RouterModule]
})
export class AppRoutingModule {}
有关History API的路由没有以HTML文件的名称开头的限制,我认为这是没有限制的,我相信有角路由器会将URL重新路由到没有它的原因仅仅是因为它看起来更好。