我有一个Angular 的应用程序,所有的一切都很好,直到我想重新加载页面。如果我重新加载那个页面,js文件的路径就改变了。我所有的js文件都放在根文件夹中,例如,如果我的页面是/contact/,那么js文件的刷新路径就会变成/contact/name. js。我的问题是我如何写一些htaccess内容或者需要做什么nginx设置来解决这类问题。我尝试了很多与htacces有关的,但没有成功谢谢阿林
kmb7vmvb1#
当你重新加载一个Angular应用程序时,问题是当前的URL并不真正存在于服务器上。因此,你需要一种方法来防止URL被发送到服务器,但仍然由Angular处理。在导入Router Module的app.module.ts中添加以下参数:
useHash:true
它应该看起来像:RouterModule.forRoot(routes, { useHash:true })如果这不起作用,在angular中查找HashLocationStrategy,它应该是解决方案。documentation
RouterModule.forRoot(routes, { useHash:true })
vm0i2vca2#
在这个例子中,有没有一种方法可以只给js和css文件添加hash?
const appRoutes: Routes = [ { path: '', redirectTo: '/login', pathMatch: 'full' }, { path: 'login', component: LoginComponent }, { path: 'base', canActivate: [AuthGuard], component: BasePageComponent, children: [ { path: 'dashboard', canActivate: [AuthGuard], component: DashboardComponent }, ] }, { path: '**', component: PageNotFoundComponent }, ]; @NgModule({ imports: [RouterModule.forRoot(appRoutes)], exports: [RouterModule] })
2条答案
按热度按时间kmb7vmvb1#
当你重新加载一个Angular应用程序时,问题是当前的URL并不真正存在于服务器上。因此,你需要一种方法来防止URL被发送到服务器,但仍然由Angular处理。在导入Router Module的app.module.ts中添加以下参数:
它应该看起来像:
RouterModule.forRoot(routes, { useHash:true })
如果这不起作用,在angular中查找HashLocationStrategy,它应该是解决方案。documentation
vm0i2vca2#
在这个例子中,有没有一种方法可以只给js和css文件添加hash?