溫馨提示×

溫馨提示×

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

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

vue路由懶加載的實現(xiàn)方法

發(fā)布時間:2020-08-19 14:57:28 來源:腳本之家 閱讀:158 作者:smile 欄目:web開發(fā)

本文介紹了vue的路由懶加載,分享給大家,具體如下:

我們可以把不同路由對應的組件分割成不同的代碼塊,然后當路由被訪問的時候才加載對應組件。

  1. component可以是一個箭頭函數(shù),我們可以使用動態(tài) import語法來定義代碼分塊點;
  2. 如果想在network里面看到動態(tài)加載的組件名字,可以加webpackChunkName;
  3. 同時要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName

代碼

// router里面的index.js
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
 routes: [
  {
   path: '/',
   name: 'home',
   /* 
    * 使用動態(tài)組件,component可以是一個箭頭函數(shù)
    * @表示src目錄
    * 如果想在network里面看到動態(tài)加載的組件名字,可以加webpackChunkName,同時要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName
    * network里面動態(tài)加載模塊名稱
    */
   
   component: () => import(/* webpackChunkName: 'home' */'@/pages/Homes')
  
   
  },
  {
   path: '/todos',
   name: 'Todos',
   component: () => import(/* webpackChunkName: 'todo' */'@/pages/Todos')
  }
 ]
})

注意 上面的@代表當前src目錄,具體可以去參考webpack的配置

webpack.base.conf.js里面添加 chunkFilename: '[name].js'

output: {
 path: config.build.assetsRoot,
 filename: '[name].js',
 // 需要配置的地方
 chunkFilename: '[name].js',
 publicPath: process.env.NODE_ENV === 'production'
  ? config.build.assetsPublicPath
  : config.dev.assetsPublicPath
}

分析

創(chuàng)建了home和todos兩個組件使用了路由懶加載,配置好之后我們執(zhí)行npm run dev來運行項目,打開network之后刷新一下,我們會發(fā)現(xiàn)加載了home.js,我們會發(fā)現(xiàn)和上面定義的webpackChunkName名字一樣,同時點todos會加載todo.js。這就是路由懶加載的簡單使用。

其他

在main.js里面項目的入口我們可以使用template的語法,也可以使用render函數(shù)

new Vue({
 el: '#app',
 router,
 components: { App },
 /*
 * 這里使用的template的語法
 * 也可以使用render函數(shù),直接return一個html結(jié)構(gòu)
 */
 // template: '<App/>'
 render() {

  return (
   <div>
    <App></App>
   </div>
  )
 } 
})

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

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

AI