angular8项目使用nginx部署并使用H5history模式(用于解决那些自动过滤#号之后的url)

前言

前面的项目都是使用hash模式,即带#来访问的。
不同模式(h5 history 和 hash #)两种模式之间的切换,在angular中做如下配置即可:
index.html

<base href="/">

‘/’ 后面什么都不填的话 那就是你Nginx的目录名
app.module.ts

import { LocationStrategy, HashLocationStrategy, PathLocationStrategy } from '@angular/common';

providers: [
    // { provide: LocationStrategy, useClass: HashLocationStrategy } // hash模式
    {provide: LocationStrategy, useClass: PathLocationStrategy} // 无#及h5 history模式
],

hash模式使用
在默认通过使用hash模式发布网站之后,效果如下:
在这里插入图片描述
这种模式就是不好看,并且seo方面也有问题。其他没什么大的问题,部署之后刷新也没问题。

H5 history模式
在使用无哈希,即使用history模式的时候,只需要更改app.module.ts中的配置即可。
但是发布之后会存在刷新404问题。所以就需要使用nginx来解决。
Nginx 要配置一下
try_files $uri $uri/ /index.html; # #try_files先寻找名为 $uri 文件,没有则寻找 $uri/ 文件,再没有就寻找/index.html

原文地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值