Vue学习笔记[14]-vue-router使用动态路由&路由懒加载

动态路由

在某些情况下,一个页面的path可能是不固定的例如/user/1561361这时候可以使用:to="'' "动态路由:

  • 创建user的vue组件
    可通过$route.params.userID来获取url中的参数





  • index.js配置路由
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../components/Home'
import About from '../components/About'
import User from '../components/User'

Vue.use(VueRouter)

const routes = [
//... 
  {
    path:'/user/:userID', // 使用:userID来传递参数
    component:User
  }
]
  • app.js显示User组件
 USER 
//...
 

路由懒加载

若不使用路由懒加载,那么所有的组件都会打包到app.js中,久而久之会使得app.js变得十分庞大。
如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候在加载对应的组件,这样就更加高效了。


未使用懒加载的js打包后结构
import Vue from 'vue'
import VueRouter from 'vue-router'
const Home = ()=>import('../components/Home')
const About = ()=>import('../components/About')
const User = ()=>import ('../components/User')

Vue.use(VueRouter)

const routes = [
  {
    path:'',
    redirect:'/home'
  },

  {
    path:'/home',
    component: Home
  },

  {
    path:'/about',
    component:About
  },

  {
    path:'/user/:userID',
    component:User
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

使用懒加载

.map文件是丑化后的js到原js的映射。如果您正确设置了源映射,则应该在“ source”选项卡的文件窗格中看到列出的每个原始JavaScript文件。

The Sources Tab in Chrome Dev Tools

更多参考:introduction-source-maps

你可能感兴趣的:(Vue学习笔记[14]-vue-router使用动态路由&路由懒加载)