Я пишу приложение Angular-7, в котором в настоящее время не вставляется "/" между именем приложения и вызываемым JavaScript-кодом Angular, а только когда оно развернуто в сети, а не локально.
Редактировать: я проверил «index.html» во встроенном приложении, и он неправильно установил включаемый javascript, чтобы имя приложения было в начале. Например. ниже следует читать «todo / runtime», а не «todoruntime ...»
<script type="text/javascript" src="/todoruntime.03f9a32c370d8f71e7b6.js"></script><script type="text/javascript" src="/todopolyfills.9f83624c7bb370dcef03.js"></script><script type="text/javascript" src="/todomain.9bd773d926709a599260.js"></script></body>
Оригинальный текст:
Например, когда я использую этот URL:
http://localhost:4200/todo/
или этот URL:
http://localhost:4200/todo
работает нормально (заходит на страницу входа). Во втором примере автоматически добавляется обратный слеш в конце.
Однако, когда я развертываю его на веб-сайте, он не отображает страницу входа в систему, а вместо этого каким-то образом теряет обратную косую черту при вызове сценария Angular.
Например, если я введу любой из этих URL-адресов в браузере:
exmaple.com/todo
или
exmaple.com/todo/
показывает абсолютно пустой дисплей. Журнал консоли показывает, что при использовании URL-адреса, который выглядит следующим образом:
example.com/todostyles.ed2b9519a10e56c50eca.css
тогда как URL должен выглядеть так:
example.com/todo/styles.ed2b9519a10e56c50eca.css
То есть с "/" между "todo" и "styles ...".
Я строю развертываемый с помощью следующей команды:
ng build --prod --output-hashing=all --base-href /todo --deploy-url /todo
Вот приложение-routing.module:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { WelcomeComponent } from './welcome/welcome.component';
import { ErrorComponent } from './error/error.component';
import { ListTodosComponent } from './list-todos/list-todos.component';
import { LogoutComponent } from './logout/logout.component';
import { TodoComponent } from './todo/todo.component';
import { HabitComponent } from './habit/habit.component';
import { ListHabitsComponent } from './list-habits/list-habits.component';
import { YearCalendarComponent } from './year-calendar/year-calendar.component';
import { RouteGuardService } from './service/route-guard.service';
const routes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'login', component: LoginComponent },
{ path: 'welcome/:name', component: WelcomeComponent, canActivate:[RouteGuardService]},
{ path: 'logout', component: LogoutComponent, canActivate:[RouteGuardService]},
{ path: 'todos', component: ListTodosComponent, canActivate:[RouteGuardService]},
{ path: 'todos/:id', component: TodoComponent, canActivate:[RouteGuardService]},
{ path: 'habits', component: ListHabitsComponent, canActivate:[RouteGuardService]},
{ path: 'habits/:id', component: HabitComponent, canActivate:[RouteGuardService]},
{ path: 'calendar', component: YearCalendarComponent, canActivate:[RouteGuardService]},
{ path: 'calendar/:id', component: YearCalendarComponent, canActivate:[RouteGuardService]},
{ path: '**', component: LoginComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
Любые идеи приветствуются.