【node.js web项目】解决路由默认是hash模式(带#)
【概念讲述】
1.什么是hash模式
Vue+WebPack项目,本身是一个单页应用。
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。虽然使用 vue-router 用于设置页面跳转时的路径,但实际是控制页面上的组件切换。
详细讲解什么是 url hash 可以查看 《阮一峰博客中-url的井号》:
http://www.ruanyifeng.com/blog/2011/03/url_hash.html
【解决问题】
在项目结合express后,使用app中间件对路由进行匹配,发现当url带有#,如 http://localhost:8080/#/test/123
以下是我自己设置的app中间件

通过断点方式debug,发现不会对此请求进行匹配。
解决方式:
在创建VueRouter实例中,设置 mode 为 history 模式,利用 history.pushState API 即使 url 像正常的 url ( http://localhost:8080/test/123)

-------------------------------------------------------------------------------------
vue-router说明文档有详细讲解如何清除hash模式
https://router.vuejs.org/zh-cn/essentials/history-mode.html
【node.js web项目】解决路由默认是hash模式(带#)的更多相关文章
- Node.js Express项目搭建
		
讲干货,不啰嗦,Express 是一个简洁而灵活的 node.js Web应用框架,使用 Express 可以快速地搭建一个完整功能的网站.本教程介绍如何从零开始搭建Express项目. 开发环境:w ...
 - node.js Web应用框架Express.js(一)
		
什么是Express.js Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用,提供丰富的HTTP工具以及来自Connect框架的中间件随 ...
 - KoaHub.js是基于 Koa.js 平台的 Node.js web 快速开发框架
		
koahubjs KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, A ...
 - node.js Web应用框架Express入门指南
		
node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...
 - 8 步搭建 Node.js + MongoDB 项目的自动化持续集成
		
任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...
 - Node.js Web模块
		
什么是Web服务器? Web服务器是处理由HTTP客户端发送的,如web浏览器的HTTP请求的软件应用程序,并返回响应于客户端网页. Web服务器通常伴随着图片,样式表和脚本的HTML文档. 大多数W ...
 - 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
		
KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...
 - Node.js web快速入门 -- KoaHub.js
		
介绍 KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Function, Class, Async & ...
 - 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
		
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
 
随机推荐
- MVC 接收文件
			
[HttpPost] public ActionResult Layedit() { var files = Request.Files; //获得所上传的所有文件 ) { HttpPostedFil ...
 - jQuery,您可以实现元素的淡入淡出效果。
			
fadeIn() fadeOut() fadeToggle() fadeTo() jQuery fadeIn() 用于淡入已隐藏的元素 $("button").click(func ...
 - jquery里面的一些方法
			
Event 函数 绑定函数至 $(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时) $(selector).click(function) 触发或将函 ...
 - 数据分析例子-------CTR1
			
1.CTR: (1)几个概念: impression(展示):用户看到该广告的次数.也就是一个广告被显示了多少次,它就计数多少.比如:打开网站的一个页面,网站上的所有广告就被显示了一次,每个广告增加1 ...
 - Selenium 安装与配置及webdriver的API与定位元素
			
1. selenium安装命令行 C:\Users\wu>cd /d E:\soft\python3.6\Scripts E:\soft\python3.6\Scripts>pip3 in ...
 - alsa-lib 交叉编译以及声卡驱动测试 (转)
			
l 下载alsa-utils, alsa-lib, 版本要一致 http://www.alsa-project.org/main/index.php/Download l 编译alsa-lib . ...
 - InfoSYS-20170114
			
1.描述Spring的事务机制 2.描述并发脏数据,如何避免 3.如何防止同一个请求重复提交(重复付款) 4.如何监控程序性能 5.CPU过高说明什么问题 通常是程序中有死循环, 参考 http:// ...
 - JavaScript(正则表达式一)
			
-------------------- 创建正则表达式: 验证匹配的两个方法 //正则表达式测试 /* var p=new RegExp("Box","i") ...
 - HDU 3849 By Recognizing These Guys, We Find Social Networks Useful
			
By Recognizing These Guys, We Find Social Networks Useful Time Limit: 1000ms Memory Limit: 65536KB T ...
 - 转-----------------------js  window.open() 操作
			
<% if request("infoid")<>"" then set rs=conn.execute("select * fro ...