最近在用angular写一个后台的项目,遇到一个小问题。

进入某个路由页面之后,手动触发浏览器的刷新,然后就404了。。。

翻看Angular的文档,发现Google早已经给我们想到了这个问题的处理方案

那就是Angular的hash风格的url,就是在浏览器的url里面加入一个#号

这样刷新的话,浏览器会忽略url的#号后面的,,等页面价值完成之后,才会再次处理#号。

如果我没记错的话,在非spa网页程序里面#是用于网页锚点处理。但是在spa程序里面,#居然还可以这么用,真是佩服Google工程师的脑洞啊

处理方式也很简单:

在app.module.ts里面引入hash风格的库

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

然后再放到provider里面去

  providers: [ {
provide: LocationStrategy,
useClass: HashLocationStrategy
}]

再次在Vscode里面保存一下,webpack会自动重新编译并刷新浏览器。这时候,url的风格就成了一个带#的,这时候随便怎么刷新浏览器,都能正常了

Angular刷新浏览器 404 问题的更多相关文章

  1. 解决angular2页面刷新后报404错误

    如果你的angular项目部署到一个tomcat容器里面,localhost:8080是JavaWeb的主页,localhost:8080/driver/login是你angular2项目的登陆地址. ...

  2. gulp之压缩合并MD5清空替换加前缀以及自动编译自动刷新浏览器大全

    gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...

  3. 更为简单的Ctrl+S自动刷新浏览器工具-LinrF5

    一款自动刷新浏览器的小工具,它通过监听用户的按键,如果在键盘按下 Ctrl+S ,则自动刷新浏览器,操作十分简单,前端开发必备神器,快速提升工作效率,支持IE.火狐以及最新版的chrome33.之前我 ...

  4. 哇 真的是一个好插件!!!Sublime Text编辑文件后快速刷新浏览器

    http://9iphp.com/web/html/sublime-text-refresh-browser.html这篇博文咯 来源:[Tips]Sublime Text编辑文件后快速刷新浏览器 - ...

  5. Sumlime Text编辑文件后快速刷新浏览器

    作为Web开发人员,我们经常会这么做:在编辑器中调整代码,保存文件,切换到浏览器,然后刷新浏览器页面来查看结果.在代码编辑过程中,我们需要重复进行很多次这些操作. 如果你使用的是Sublime Tex ...

  6. 利用less监视模式实时预览样式刷新浏览器

    [前言]此处介绍的方法只是我个人的用法,相信大家有更好更简洁的方式. 上次写到利用LiveReload解放F5.而且LiveReload可以编辑sass/less/stylus.但是可惜发现LiveR ...

  7. npm scripts 助力前端开发,实时刷新浏览器

    用browser-sync或者lite-server来监控文件的改变,当文件改变时,就自动刷新浏览器. 用node-sass来实时编译scss文件. 用parallelshell来异步执行npm sc ...

  8. struts2中修改Action后刷新浏览器后不能及时更新

    在学习strut2的时候,发现如果修改配置文件中Action的时候,刷新浏览器并不能加载修改后的Action,只能关闭服务,重新开启server才能获取到,上网找了许多资料后发现只要在配置文件中加上下 ...

  9. 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器

    http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...

随机推荐

  1. 章节二、4-String以及StringBuffer和StringBuilder的对比

    1.String---字符串常量 字符串是一个常量,一旦被初始化就不会被改变,它存储在字符串常量池中,每一个字符串对象在java中都是线程安全的.   2.StringBuffer---字符串变量 是 ...

  2. Bullet3的一些理解

    Bullet3应该是第三大物理引擎了,拥有宽松的授权方式,开源.在我的项目中将采用它. 碰撞世界(btCollisionWorld)是最基本的环境类. 动态世界(btDynamicsWorld)从碰撞 ...

  3. matlab练习程序(加权最小二乘)

    起本篇题目还是比较纠结的,原因是我本意打算寻找这样一个算法:在测量数据有比较大离群点时如何估计原始模型. 上一篇曲面拟合是假设测量数据基本符合均匀分布,没有特别大的离群点的情况下,我们使用最小二乘得到 ...

  4. 虚拟机中安装Virtualbox,嵌套的虚拟机不能运行64位系统

    https://www.quora.com/Can-I-install-Virtualbox-in-a-virtual-machine Here is a previous question on Q ...

  5. Unity3D 4.x编辑器操作技巧

    unity wiki(en chs)   unity官网 unity manual(chs  官方最新) 各个版本unity编辑器下载地址: https://unity3d.com/cn/get-un ...

  6. 计算机图形学(第2版 于万波 于硕 编著)第45页的Bresenham算法有错误

    计算机图形学(第2版 于万波 于硕 编著)第45页的Bresenham算法有错误: 书上本来要写的是以x为阶越步长的方法,但是他写的是用一部分y为阶越步长的方法(其实也写的不对),最后以x为阶越步长的 ...

  7. Percona XtraBackup 安装介绍篇

    XtraBackup介绍 XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写) ...

  8. xss挑战之旅wp

    Level 1  -  180831 第一关很简单,开胃菜 payload: http://localhost/xss_game/level1.php?name=test123<script&g ...

  9. memcache缓存雪崩、缓存无底洞、缓存穿透、永久数据被踢现象

    一.缓存雪崩现象 缓存雪崩一般是由某个缓存节点失效,导致其他节点的缓存命中率下降, 缓存中缺失的数据去数据库查询,短时间内造成数据库服务器崩溃, 重启DB短期又被压跨,但新数据的缓存也更新一些,DB反 ...

  10. C. Nice Garland Codeforces Round #535 (Div. 3) 思维题

    C. Nice Garland time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...