vue多页面项目中路由使用history模式的方法


Posted in Javascript onSeptember 23, 2019

前言

之前写了一个vue项目中需要添加一个打印的页面,需要使用多页面的模式进行开发,vue-cli3出初始化的项目配置多页面还是很容易的,但是发现print.html没有办法配置history模式的路由,一旦使用history模式的路由。写了一个简单的demo在网上寻求帮助没有能解决问题,后来没有办法只能使用hash模式完整项目了。

如何解决

有一天看webpack文档的时候,突然看到了historyApiFallback配置项,一瞬间感觉找到方法了。下班后回家就下载下之前的项目折腾了。

之前的vue.config.js中的配置是这样的,

const path = require('path')
function resolve (dir) {
 return path.join(__dirname, dir)
}
module.exports = {
  pages: {
    index: {
      entry: 'src/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: 'Index Page',
    },
    print: {
      entry: 'src/print/main.js',
      template: 'public/print.html',
      filename: 'print.html',
      title: 'print Page',
    }
  },
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets',resolve('src/assets'))
      .set('components',resolve('src/components'));
  }
}

然后根据 webpack文档 ,添加了如下代码:

configureWebpack: {
    devServer: {
      historyApiFallback: {
        verbose: true,
        rewrites: [
          { from: /^\/index\/.*$/, to: '/index.html'},
          {from: /^\/print\/.*$/, to: '/print.html'}
        ]
      }
    }
  }

接下来启动项目去浏览器中验证,发现访问 localhost:8080/print/hello 和 localhost:8080/index/hello-world 能够分别访问到 print.html 和 index.html 页面。但是不能进入对应的路由于是修改各自的路由文件,修改完后的路由分别为:

// print
import HelloWold from '../components/HelloWorld'
import goBack from '../components/GoBack'
export default [
  
  {
    path: '/print/hello',
    name: 'print',
    component: HelloWold
  },
  {
    path: '/print/go-back',
    name: 'print',
    component: goBack
  }
]
// index
import HelloWold from '../components/HelloWorld.vue'
export default [
  {
    path: '/index/hello-world',
    name: 'hello-world',
    component: HelloWold
  }
]

在浏览器中访问,可以了~~~

项目地址 github

总结

以上所述是小编给大家介绍的vue多页面项目中路由使用history模式的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
js字符串转成JSON
Nov 07 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 Javascript
cookie的secure属性详解
Apr 08 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
详解node child_process模块学习笔记
Jan 24 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
Sep 24 Javascript
JS随机密码生成算法
Sep 23 #Javascript
详解mpvue开发微信小程序基础知识
Sep 23 #Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 #Javascript
layui树形菜单动态遍历的例子
Sep 23 #Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
Sep 23 #Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 #Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 #Javascript
You might like
JS小框架 fly javascript framework
2009/11/26 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
js快速排序的实现代码
2013/12/08 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
python命令行参数sys.argv使用示例
2014/01/28 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Python处理文本换行符实例代码
2018/02/03 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
python下载库的步骤方法
2019/10/12 Python
Python偏函数实现原理及应用
2020/11/20 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
介绍一下#error预处理
2015/09/25 面试题
生产主管岗位职责
2013/11/10 职场文书
电工技术比武方案
2014/05/11 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
律师函格式范本
2015/05/27 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
python通过新建环境安装tfx的问题
2022/05/20 Python
小程序实现侧滑删除功能
2022/06/25 Javascript