Как убрать хеш (#) в URL на угловой 7 - PullRequest
1 голос
/ 17 апреля 2019

Я новичок в angular 7, в моем проекте я хочу удалить # (хеш) в URL

Это мой фактический url https://dev.abc.com/web/

Но когда я получаю доступ к этому url, он добавляет # (хэш) вот так https://dev.abc.com/web/#/

Это мой routing .module.js код

import { NgModule } from '@angular/core';
import { RouterModule, Routes, Router } from '@angular/router';
import { HomeComponent } from '../views/home/home.component';
import { CubberComponent } from '../views/cubber/cubber.component';
import { SignupComponent } from '../views/cubber/signup/signup.component';
import { SigninComponent } from '../views/cubber/signin/signin.component';
import { MyinformationComponent } from '../views/cubber/myinformation/myinformation.component';
import { ProfileComponent } from '../views/cubber/profile/profile.component';
import { PasswordComponent } from '../views/cubber/password/password.component';
import { MyaddressComponent } from '../views/cubber/myaddress/myaddress.component';
import { AuthGuard } from '../service/auth/auth.guard';
import { DashboardComponent } from '../views/cubber/dashboard/dashboard.component';
import { MylistingComponent } from '../views/cubber/mylisting/mylisting.component';
import { MyavailablityComponent } from '../views/cubber/myavailablity/myavailablity.component';
import { MyphotosComponent } from '../views/cubber/myphotos/myphotos.component';
import { MypaymentComponent } from '../views/cubber/mypayment/mypayment.component';
export const routes: Routes = [
     {
          path: '',
          component: HomeComponent,
          pathMatch: 'full'
     },    
     {
          path: 'signup',
          component: SignupComponent,
          data: { title: 'signup' }
     }
];

@NgModule({
     imports: [
          RouterModule.forRoot(routes)],
          exports: []
})

export class AppRoutingModule {
     constructor(private router: Router) {
          this.router.errorHandler = (error: any) => {
          this.router.navigate(['login']);
          };
     }
}

Я ссылаюсь на блог, который он сказал в @NgModule добавить userHash:false вот так

@NgModule({
     imports: [
          RouterModule.forRoot(routes,{userHash:false})],
          exports: []
})

Я не уверен, работает он или нет.

Пожалуйста, помогите мне удалить # (хэш) в моем url

1 Ответ

0 голосов
/ 17 апреля 2019

это PathLocationStrategy - это стратегия расположения по умолчанию в Angular.

Проверьте импорт модуля, его также можно переопределить, указав {useHash: true} в качестве второго аргумента RouterModule.forRoot:

imports: [
    ...
    RouterModule.forRoot(routes, { useHash: false })
]

Также обратите внимание, что при использовании PathLocationStrategy вам необходимо настроить веб-сервер так, чтобы он обслуживал index.html (точку входа приложения) для всех запрошенных расположений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...