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 相关文章推荐
在JavaScript中遭遇级联表达式陷阱
Mar 08 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
ajax如何实现页面局部跳转与结果返回
Aug 24 Javascript
基于JavaScript实现购物网站商品放大镜效果
Sep 06 Javascript
微信小程序 图片上传实例详解
May 05 Javascript
react 创建单例组件的方法
Apr 26 Javascript
javascript标准库(js的标准内置对象)总结
May 26 Javascript
解决angularjs service中依赖注入$scope报错的问题
Oct 02 Javascript
彻底弄懂 JavaScript 执行机制
Oct 23 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
layui表格数据复选框回显设置方法
Sep 13 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
Apr 03 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
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
laravel入门知识点整理
2020/09/15 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
提升Python程序运行效率的6个方法
2015/03/31 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
西门豹教学反思
2014/02/04 职场文书
培训专员岗位职责
2014/02/26 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
工商局调档介绍信
2015/10/22 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
Python字符串格式化方式
2022/04/07 Python