溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue多頁面項目中路由如何使用history模式

發(fā)布時間:2021-08-12 09:42:01 來源:億速云 閱讀:177 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關vue多頁面項目中路由如何使用history模式的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

如何解決

有一天看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'}
        ]
      }
    }
  }

接下來啟動項目去瀏覽器中驗證,發(fā)現訪問 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
  }
]

感謝各位的閱讀!關于“vue多頁面項目中路由如何使用history模式”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI