成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

vue路由懶加載

DrizzleX / 2297人閱讀

摘要:的路由懶加載我們可以把不同路由對(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

相關(guān)文章

  • vue路由加載和組件的按需加載

    摘要:懶加載也叫延遲加載,即在需要的時(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í),需要...

    Lucky_Boy 評(píng)論0 收藏0
  • 代碼分割與加載情況下(code-splitting+lazyload)抽離加載模塊的公用模塊代碼

    摘要:但是同時(shí),抽離到父模塊,也意味著如果有一個(gè)懶加載的路由沒(méi)有用到模塊,但是實(shí)際上引入了父模塊,也為這也引入了的代碼。 前言 我們清楚,在 webpack 中通過(guò)CommonsChunkPlugin 可以將 entry 的入口文件中引用多次的文件抽離打包成一個(gè)公用文件,從而減少代碼重復(fù)冗余 entry: { main: ./src/main.js, ...

    zebrayoung 評(píng)論0 收藏0
  • VUE-Router按模塊配置、加載+ Windows中Nginx服務(wù)安裝、配置解決404

    摘要:文章涉及到路由模塊化,懶加載,安裝,打包配置板塊。項(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)...

    habren 評(píng)論0 收藏0
  • Vue.js路由加載[譯]

    摘要:所以,那些使用較少的路由組件不必打包進(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...

    beita 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<