摘要:的路由懶加載我們可以把不同路由對(duì)應(yīng)的組件分割成不同的代碼塊,然后當(dāng)路由被訪(fǎng)問(wèn)的時(shí)候才加載對(duì)應(yīng)組件。這就是路由懶加載的簡(jiǎn)單使用。
vue的路由懶加載
我們可以把不同路由對(duì)應(yīng)的組件分割成不同的代碼塊,然后當(dāng)路由被訪(fǎng)問(wèn)的時(shí)候才加載對(duì)應(yīng)組件。
component可以是一個(gè)箭頭函數(shù),我們可以使用動(dòng)態(tài) import語(yǔ)法來(lái)定義代碼分塊點(diǎn);
如果想在network里面看到動(dòng)態(tài)加載的組件名字,可以加webpackChunkName;
同時(shí)要在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", /* * 使用動(dòng)態(tài)組件,component可以是一個(gè)箭頭函數(shù) * @表示src目錄 * 如果想在network里面看到動(dòng)態(tài)加載的組件名字,可以加webpackChunkName,同時(shí)要在webpack.base.conf.js里面的output里面的filename下面加上chunkFileName * network里面動(dòng)態(tài)加載模塊名稱(chēng) */ component: () => import(/* webpackChunkName: "home" */"@/pages/Homes") }, { path: "/todos", name: "Todos", component: () => import(/* webpackChunkName: "todo" */"@/pages/Todos") } ] })
注意 上面的@代表當(dāng)前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兩個(gè)組件使用了路由懶加載,配置好之后我們執(zhí)行npm run dev來(lái)運(yùn)行項(xiàng)目,打開(kāi)network之后刷新一下,我們會(huì)發(fā)現(xiàn)加載了home.js,我們會(huì)發(fā)現(xiàn)和上面定義的webpackChunkName名字一樣,同時(shí)點(diǎn)todos會(huì)加載todo.js。這就是路由懶加載的簡(jiǎn)單使用。
其他在main.js里面項(xiàng)目的入口我們可以使用template的語(yǔ)法,也可以使用render函數(shù)
new Vue({ el: "#app", router, components: { App }, /* * 這里使用的template的語(yǔ)法 * 也可以使用render函數(shù),直接return一個(gè)html結(jié)構(gòu) */ // template: "" render() { return ( ) } })
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93339.html
摘要:懶加載也叫延遲加載,即在需要的時(shí)候進(jìn)行加載,隨用隨載。路由的懶加載按需加載的寫(xiě)法效果按需加載會(huì)在頁(yè)面第一次請(qǐng)求的時(shí)候,把相關(guān)路由組件塊的添加上非按需加載則會(huì)把所有的路由組件塊的包打在一起。當(dāng)業(yè)務(wù)包很大的時(shí)候建議用路由的按需加載懶加載。 懶加載也叫延遲加載,即在需要的時(shí)候進(jìn)行加載,隨用隨載。在單頁(yè)應(yīng)用中,如果沒(méi)有應(yīng)用懶加載,運(yùn)用webpack打包后的文件將會(huì)異常的大,造成進(jìn)入首頁(yè)時(shí),需要...
摘要:但是同時(shí),抽離到父模塊,也意味著如果有一個(gè)懶加載的路由沒(méi)有用到模塊,但是實(shí)際上引入了父模塊,也為這也引入了的代碼。 前言 我們清楚,在 webpack 中通過(guò)CommonsChunkPlugin 可以將 entry 的入口文件中引用多次的文件抽離打包成一個(gè)公用文件,從而減少代碼重復(fù)冗余 entry: { main: ./src/main.js, ...
摘要:文章涉及到路由模塊化,懶加載,安裝,打包配置板塊。項(xiàng)目復(fù)雜,路由變多,代碼維護(hù)性降低,從路由模塊化開(kāi)始一步步優(yōu)化,解決各種。無(wú)法啟動(dòng)服務(wù),報(bào)錯(cuò)參考資料發(fā)現(xiàn)端口沖突,已經(jīng)在服務(wù)中已經(jīng)配置端口。服務(wù)端口更改為。 文章涉及到VUE路由模塊化,懶加載,nginx安裝,打包配置板塊。項(xiàng)目復(fù)雜,路由變多,代碼維護(hù)性降低,從路由模塊化開(kāi)始一步步優(yōu)化,解決各種BUG。參考了很多方法,會(huì)在文章中引用出來(lái)...
摘要:所以,那些使用較少的路由組件不必打包進(jìn)里,只需要在路由被訪(fǎng)問(wèn)時(shí)按需加載。寫(xiě)起來(lái)像這樣空數(shù)組用來(lái)指定該路由組件需要加載的依賴(lài)不過(guò),你最好不要使用這種包裹起來(lái)的寫(xiě)法,因?yàn)闀?huì)使用靜態(tài)分析來(lái)檢測(cè)和分割塊。 作者:Joshua Bemenderfer 原文地址: lazy-loading-routes 譯者:jeneser 當(dāng)你的SPA(單頁(yè)應(yīng)用程序)變得復(fù)雜時(shí),打包構(gòu)建后的Javascript...
閱讀 2042·2023-04-26 01:33
閱讀 1669·2023-04-26 00:52
閱讀 1052·2021-11-18 13:14
閱讀 5466·2021-09-26 10:18
閱讀 2919·2021-09-22 15:52
閱讀 1498·2019-08-29 17:15
閱讀 3028·2019-08-29 16:11
閱讀 1046·2019-08-29 16:11