时间:2021-05-26
前言
之前写了一个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 页面。但是不能进入对应的路由于是修改各自的路由文件,修改完后的路由分别为:
// printimport 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 }]// indeximport HelloWold from '../components/HelloWorld.vue'export default [ { path: '/index/hello-world', name: 'hello-world', component: HelloWold }]在浏览器中访问,可以了~~~
项目地址github
总结
以上所述是小编给大家介绍的vue多页面项目中路由使用history模式的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
关于Vue中路由使用history模式,开发微信H5页面分享时在安卓上签名有效成功,但是在IOS设备上一直报错签名失效问题问题描述:在Vue开发过程中,路由使用
vue-cli开发过程中路由#不好看,去掉可使用history模式,开发模式路径访问都没问题,部署到服务器之后访问路径时报404,这种情况需要配置服务器默认访问
1、vue项目,在浏览器中看到的路由都是带有#的,如果想去掉#,我们可以用路由的history模式,这种模式充分利用history.pushStateAPI来完
在一个单页面应用里使用二级套嵌路由目录结构如下:其中main.js为全局配置文件,App.vue为项目入口。main.js中路由配置如下importVuefro
前言本人在公司主要负责中后台系统的开发,其中路由和权限校验算是非常重要且最为基本的一环。实际开发项目中,关于登录和路由权限的控制参照了vue-element-a