首頁 > web前端 > js教程 > 主體

vue路由懶載入的實作方法

亚连
發布: 2018-05-30 17:50:12
原創
3356 人瀏覽過

本篇文章主要介紹了vue路由懶載入的實作方法,現在分享給大家,也給大家做個參考。

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

#我們可以把不同路由對應的元件分割成不同的程式碼區塊,然後當路由被訪問的時候才載入對應組件。

  1. component可以是一個箭頭函數,我們可以使用動態import語法來定義程式碼分塊點;

  2. 如果想在network裡面看到動態載入的元件名字,可以加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',
   /* 
    * 使用动态组件,component可以是一个箭头函数
    * @表示src目录
    * 如果想在network里面看到动态加载的组件名字,可以加webpackChunkName,同时要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName
    * network里面动态加载模块名称
    */
   
   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
}
登入後複製

分析

創建了home和todos兩個元件使用了路由懶加載,配置好之後我們執行npm run dev來運行項目,打開network之後刷新一下,我們會發現載入了home.js,我們會發現和上面定義的webpackChunkName名字一樣,同時點todos會載入todo.js。這就是路由懶載入的簡單使用。

其他

在main.js裡面專案的入口我們可以使用template的語法,也可以使用render函數

new Vue({
 el: '#app',
 router,
 components: { App },
 /*
 * 这里使用的template的语法
 * 也可以使用render函数,直接return一个html结构
 */
 // template: &#39;<App/>&#39;
 render() {

  return (
   <p>
    <App></App>
   </p>
  )
 } 
})
登入後複製

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

jQuery實作的上傳圖片本機預覽效果簡單範例

JavaScript面試出現頻繁的一些易錯點整理

vue axios請求攔截實例程式碼

######################### #

以上是vue路由懶載入的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!