Angular refre sh результат 404 страница на сайте - PullRequest
0 голосов
/ 26 марта 2020

На моем локальном компьютере проект angular работает хорошо.

Поэтому я развернул его на сервере по FTP.

ng build

И я загрузил файл dist на сервер. Затем URL работает.

www.miexchange.tech

И если я нажимаю любую кнопку для go другой страницы, она работает хорошо.

Но если я нажимаю кнопку refre sh или F5 тогда я не могу получить текущую страницу.

введите описание изображения здесь

Пожалуйста, посмотрите на изображение, теперь оно работает хорошо. Но если я нажму кнопку refre sh, появится эта страница.

введите описание изображения здесь

Пожалуйста, дайте мне знать причину.

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

Спасибо Bansi29, вы правы

Эта проблема связана с ха sh.

Есть 2 способа.

1) Вставьте {useHash: true} в app-routing.module.ts

app-routing.module.ts
@NgModule({
    imports: [RouterModule.forRoot(routes), { useHash: true }],
    exports: [RouterModule],
    providers: [
        TableDataService,
        RegularTablesResolver,
    ],
    entryComponents: [
        ModalComponent,
    ]
})

2) Иногда useHa sh true возникает ошибка, подобная этой

TS2322: Type '{ useHash: boolean; }' is not assignable

В этом случае вы можете выполнить следующие действия.

app.module.ts
import { HashLocationStrategy, LocationStrategy } from '@angular/common';

После этого, пожалуйста, введите от {provide: LocationStrategy, useClass: HashLocationStrategy} до @NgModule providers.

от.

import { NgModule }       from '@angular/core';
import { BrowserModule  } from '@angular/platform-browser';
import { AppComponent }   from './app.component';
import { HashLocationStrategy, LocationStrategy } from '@angular/common';
@NgModule({
    declarations: [AppComponent],
    imports: [BrowserModule],
    providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}],
    bootstrap: [AppComponent],
})
export class AppModule {}
0 голосов
/ 26 марта 2020

Что такое базовый href в вашем dist/index.html? Попробуйте изменить его на

  <base href="/your/deployment/directory/on/the/server">

Для получения дополнительной информации вы можете прочитать https://angular.io/guide/deployment#the -base-tag

...