vue-router官网https://router.vuejs.org/zh/guide/

vue的路由在默认的hash模式下,url会带有一个#,不美观,而且在微信分享,授权登录等都会有一些坑.所以history模式(不带#号)也会有一些应用场景.

将路由配置成history模式,代码如下:

export default new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'Hello',
component: Hello
}
]
})

由于vue-router 默认 hash 模式变为 history 模式,踩得坑还真有点多。

问题一:变为history模式,子路由在刷新情况下会出现样式变乱的情况,解决方法如下:

直接修改index.html文件中的静态文件引入路径就OK了

修改前:

<link rel="stylesheet" href="./static/css/base.css">

修改后:

<link rel="stylesheet" href="/static/css/base.css">

修改原理:

./ 是指用户所在的当前目录(相对路径);

/ 是指根目录(绝对路径,项目根目录),也就是项目根目录;

对于hash模式,根路径是固定的,就是项目的根目录,但是history模式下,以 / 开头的嵌套路径会被当作根路径,所以使用“./”引入文件,就会找不到文件了,因为文件本身就是在项目根目录下的,并不在嵌套路径这个目录下。

总结,无论hash模式还是history模式,可以直接使用“/”从项目根目录引入静态文件。

更加详细的介绍https://www.cnblogs.com/xyyt/p/7718867.html

问题二:vue的路由在默认的hash模式下,默认打包一般不会有什么问题,而history模式打包后回出现页面一片空白的情况,而且没有资源加载错误的报错信息.

参考文章https://www.jb51.net/article/142831.htm

https://blog.csdn.net/g1531997389/article/details/79154179

解决使用vue-cli生成项目后项目地址自动添加#号的问题的更多相关文章

  1. 使用Angular CLI生成 Angular 5项目

    如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angular/angular- ...

  2. Vue Cli 3:创建项目

    一 简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,有几个独立的部分. 1 CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令.(vue ...

  3. vue cli 3.0创建项目

    .npm i -g @vue/cli .vue create my-project 此处有两个选择: 1.default (babel, eslint)默认套餐,提供babel和eslint支持 2. ...

  4. 亲测有效的解决在vue cli@3 create 命令执行后 node-sass无法安装上的问题

    在使用Vue cli@3 搭建工程手脚架的过程中.当我们选择了采用 sass 处理 css 编译.在使用vue create test 命令行执行到最后.会到以下这步:然后开始报错: Download ...

  5. vue >>> 编译失败问题 loader 待解决( iview vue脚手架生成)

    vue >>> 编译失败问题 loader 待解决 用vue iview 脚手架 来一次试试~

  6. 让我们用Vue cli全家桶搭建项目

    一般项目都会用到这几个,这里不在详细介绍概念,只是简单的使用.一.搭建cli 1.事先安装好cnpm(淘宝镜像) npm install -g cnpm --registry=https://regi ...

  7. Eclipse导入已有的项目后项目报错的解决办法

    第一种:jsp报错 选择windows-->preference-->列表找到Validation-->点击Disable All ->> Apply ->> ...

  8. vue cli 构建的 webpack 项目设置多页面

    1. webpack-dev-server下的设置(npm run dev) ./build/webpack.dev.conf.js 中,修改 new HtmlWebpackPlugin ,一个页面一 ...

  9. 使用Vue CLI 3快速创建项目

    首先 vue create ant-design-vue-pro 执行命令会显示两个选项,1默认,2自定义 我么选择自定义 选择好自定义的插件回车就等待下安装成功然后进入项目文件夹 cd ant-de ...

随机推荐

  1. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    1.1.摘要 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义.然后,介绍贝叶斯分类算法的基 ...

  2. 马士兵hibernate(原始笔记)

    马士兵hibernate(原始笔记) 课程内容 1        HelloWorld a)   Xml b)   annotation 2        Hibernate原理模拟 - 什么是O/R ...

  3. vlookup返回多个结果

    http://www.360doc.com/content/12/1021/15/7665211_242782107.shtml =IFERROR(VLOOKUP(D2&ROW(A1),IF( ...

  4. CxGrid鼠标移到更改颜色

    CxGrid鼠标移到更改颜色 设置表单中TcxGrid1DBTableView的Styles属性,设置Selection procedure TForm1.cxGrid1DBTableView1Mou ...

  5. Android-Java多线程通讯(生产者 消费者)&10条线程对-等待唤醒/机制的管理

    上一篇博客 Android-Java多线程通讯(生产者 消费者)&等待唤醒机制 是两条线程(Thread-0 / Thread-1) 在被CPU随机切换执行: 而今天这篇博客是,在上一篇博客A ...

  6. dispatch_async 和dispatch_sync

    dispatch_sync(),同步添加操作.他是等待添加进队列里面的操作完成之后再继续执行. dispatch_queue_t concurrentQueue = dispatch_queue_cr ...

  7. .net图表之ECharts随笔07-自定义系列(多边形)

    搞了一天多,才勉强搞出了一个不紧凑的六边形统计图,是真的菜. 这里ECharts的用法与06说的同一种,直接使用带all的js 先上个效果图,用面积来表示人数的多少 1. 参数option的toolt ...

  8. 操作Checkbox标签

    在前端开发中,少不了对Checkbox的操作. 常用的的方法有2个:.is()和.prop()方法.前者是判断 checkbox的状态,选不是未选.而后者为checkbox设置一个值,可以设置chec ...

  9. Android开发教程 - 使用Data Binding(五)数据绑定

    本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...

  10. nginx-1.服务器是什么

    服务器相信很多电脑爱好者都听过或者了解一些,一般我们很难看到真正的服务器,因为服务器一般均放置在机房重点,闲人一般均是免进的.比如我们每天浏览的网站.玩的游戏等,所有的数据均存在服务器,服务器一般都在 ...