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 相关文章推荐
jQuery 源码分析笔记(5) jQuery.support
Jun 19 Javascript
javaScript复制功能调用实现方案
Dec 13 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
May 14 Javascript
用js通过url传参把数据从一个页面传到另一个页面
Sep 01 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
May 12 Javascript
vue-cli webpack 开发环境跨域详解
May 18 Javascript
微信小程序图片选择区域裁剪实现方法
Dec 02 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
node.js环境搭建图文详解
Sep 19 Javascript
详解小程序BackgroundAudioManager踩坑之旅
Dec 08 Javascript
JS实现百度搜索框
Feb 25 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
php5新改动之短标记启用方法
2008/09/11 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
Python 元类使用说明
2009/12/18 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
django中send_mail功能实现详解
2018/02/06 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
Python随机数函数代码实例解析
2020/02/09 Python
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
精伦电子Java笔试题
2013/01/16 面试题
质检部部长职责
2013/12/16 职场文书
网络编辑职责
2014/03/01 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
2015年消防工作总结
2015/04/24 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS