vue多頁面項目中路由使用history模式的方法
前言
之前寫了一個vue項目中需要添加一個打印的頁面,需要使用多頁面的模式進(jìn)行開發(fā),vue-cli3出初始化的項目配置多頁面還是很容易的,但是發(fā)現(xiàn)print.html沒有辦法配置history模式的路由,一旦使用history模式的路由。寫了一個簡單的demo在網(wǎng)上尋求幫助沒有能解決問題,后來沒有辦法只能使用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'));
}
}
然后根據(jù) webpack文檔 ,添加了如下代碼:
configureWebpack: {
devServer: {
historyApiFallback: {
verbose: true,
rewrites: [
{ from: /^\/index\/.*$/, to: '/index.html'},
{from: /^\/print\/.*$/, to: '/print.html'}
]
}
}
}
接下來啟動項目去瀏覽器中驗證,發(fā)現(xiàn)訪問 localhost:8080/print/hello 和 localhost:8080/index/hello-world 能夠分別訪問到 print.html 和 index.html 頁面。但是不能進(jìn)入對應(yīng)的路由于是修改各自的路由文件,修改完后的路由分別為:
// 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
總結(jié)
以上所述是小編給大家介紹的vue多頁面項目中路由使用history模式的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
springboot + vue+elementUI實現(xiàn)圖片上傳功能
文章描述了如何使用Element UI的el-upload組件實現(xiàn)前端圖片上傳,并將圖片存儲到后端數(shù)據(jù)庫,同時在頁面上回顯上傳的圖片,后端通過接口接收圖片,并將其存儲在指定位置,然后返回圖片路徑以便在前端顯示,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-01-01
vue+elementUI的select下拉框回顯為數(shù)字問題
這篇文章主要介紹了vue+elementUI的select下拉框回顯為數(shù)字問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
ElementUI中el-tree節(jié)點的操作的實現(xiàn)
這篇文章主要介紹了ElementUI中el-tree節(jié)點的操作的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
關(guān)于vue狀態(tài)過渡transition不起作用的原因解決
這篇文章主要介紹了關(guān)于vue狀態(tài)過渡transition不起作用的原因解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
關(guān)于Vue在ie10下空白頁的debug小結(jié)
這篇文章主要給大家介紹了關(guān)于Vue在ie10下空白頁的debug相關(guān)資料,這是最近在工作中遇到的一個問題,通過查找相關(guān)的資料終于解決了,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-05-05
使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件
這篇文章主要介紹了使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

