Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在子目录中部署时,Angular 6路径路径不适用于直接URL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
app.routIng.module.ts

import { NgModule } from '@angular/core';
import { Routes,RouterModule } from '@angular/router';
import { HomeComponent } from './public/home/home.component';

const routes: Routes = [
  {
    path: 'customers',loadChildren: '../app/customers/customers.module#CustomersModule'
  },{
    path: 'admin',loadChildren: '../app/admin/admin.module#AdminModule'
  },{
    path: 'home',component: HomeComponent
  },{
    path: '**',redirectTo: 'home',}
];

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

这些在开发环境下工作正常.
如果我直接打开localhost:4200 / home,它就会登陆到预期的页面.

但是,如果我直接打开www.domain.com/myngapp/home,那么使用Ng build –prod –base-href = / myngapp /的内置和部署只能在www.domain.com/myngapp上运行,然后它给出了404未找到的错误.

解决方法

您需要设置正确的URL重写规则. Angular docs解释了如何为大多数流行的http服务器执行此操作.你可以在这里找到细节.

https://angular.io/guide/deployment#production-servers

它的作用就是简单地说,无论请求的路径是什么,都要告诉服务器始终提供index.html.例如.

www.domain.com/myngapp/home – >服务index.html,而不是home.html或类似的东西www.domain.com/myngapp/some/child/routIng – >提供index.html并且不要试图找到一些/ child / routIng.html或PHP等等.

大佬总结

以上是大佬教程为你收集整理的在子目录中部署时,Angular 6路径路径不适用于直接URL全部内容,希望文章能够帮你解决在子目录中部署时,Angular 6路径路径不适用于直接URL所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。