您好,登錄后才能下訂單哦!
本文介紹了vue的路由懶加載,分享給大家,具體如下:
我們可以把不同路由對應的組件分割成不同的代碼塊,然后當路由被訪問的時候才加載對應組件。
代碼
// 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)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(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)容。