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 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
JS实现点击链接取消跳转效果的方法
Jan 24 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
Jun 04 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
Jul 27 Javascript
JavaScript中关于class的调用方法
Nov 28 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
Oct 26 Javascript
Vue中图片Src使用变量的方法
Oct 30 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
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
drupal 代码实现URL重写
2011/05/04 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
Python中的hypot()方法使用简介
2015/05/18 Python
python 编写简单网页服务器的实例
2018/06/01 Python
python调用staf自动化框架的方法
2018/12/26 Python
python实现图像拼接
2020/03/05 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
精灵市场:Pixie Market
2019/06/18 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
竞选大队干部演讲稿
2014/09/11 职场文书
大学生军训感言
2015/08/01 职场文书
春节随笔
2015/08/15 职场文书
情感电台广播稿
2015/08/18 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书