欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供文安企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、做網(wǎng)站、H5場景定制、小程序制作等業(yè)務(wù)。10年已為文安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

1.webpack的code splitting

webpack可以通過一些方法,來實現(xiàn)按需加載,暴露的接口為require.ensure

require.ensure(["module-a", "module-b"], function() {
 var a = require("module-a");
 // ...
});

這個require.ensure保證了模塊的異步調(diào)用,當(dāng)callback回調(diào)中調(diào)用了一個模塊的時候,可以實現(xiàn)按需加載。

2.React-router實現(xiàn)按需加載的接口

React-router定義了 getChildRoutes, getIndexRoute, getComponents這樣3個方法,這3個方法是異步的,并且只在需要的時候調(diào)用,通過這3個方法定義的路由,我們稱之為“漸進(jìn)式路由匹配”,React-router在匹配到路由時,只是漸進(jìn)式的加載改路由所需要的組件,這樣就能實現(xiàn)按需加載。

(1)webpack的配置:

 output: {
    path: __dirname + '/dist/js/',
    publicPath:'/js/',
    filename: '[name].js',
    chunkFilename: '[name].[chunkhash:5].chunk.js'
  },

在這里我們加上了chunkFilename:…. 這句代碼用于分割js,特別注意publicPath這個路徑要與服務(wù)器的資源的路徑對應(yīng),否則加載js的時候會出現(xiàn)404錯誤。

(2)通過getComponents等3個方法重新配置路由

export const routes={
 path:'/',
 getComponent(nextState,callback){
  require.ensure([],require=>{
   callback(null,require('../components/nav').default);
  },'nav');
 },
 indexRoute:{
  getComponent(nextState,callback){
   require.ensure([],require=>{
    callback(null,require('../components/examine').default);
   },'examine');
  }
 },
 childRoutes:[{
  path:'examine',
  getComponent(nextState,callback){
   require.ensure([],require=>{
    callback(null,require('../components/examine').default);
   },'examine');
   }
 },
 {
  path:'admin',
  getComponent(nextState,callback){
   require.ensure([],require=>{
    callback(null,require('../components/admin').default);
   },'admin');
  }
 },
 {
  path:'history',
  getComponent(nextState,callback){
   require.ensure([],require=>{
    callback(null,require('../components/history').default);
   },'history');
  }
 },
 {
  path:'feedback',
  getComponent(nextState,callback){
   require.ensure([],require=>{
    callback(null,require('../components/feedback').default);
   },'feedback')
  }
 }
]
};

這里我們將路由定義中的component替換成了 getComponent。

(3)最后效果:

首頁時候,加載了examine.js和nav.js:

React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析

切換路由時,比如從首頁切換到了商品管理,這樣除了加載examine.js外,多加載了admin.js:

React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析

(4)總結(jié):

我們看到react-router的按需加載,作用主要表現(xiàn)在可以減少首頁請求的文件的大小。

3.注意事項:

1、require(‘components/Index').default中require方法的參數(shù)不能使用變量,只能使用字符串!

2、如果你的組件是使用es5的module.exports導(dǎo)出的話,那么只需要require(‘components/Index')即可。而如果你的組件是使用es6的export default導(dǎo)出的話,那么需要加上default!例如:require(‘components/Index').default

3、如果在路由頁面使用了按需加載(require.ensure)加載路由級組件的方式,那么在其他地方(包括本頁面)就不要再import了,否則不會打包生成chunk文件。簡而言之,需要按需加載的路由級組件必須在路由頁面進(jìn)行加載。

特別是第3點(diǎn),筆者就是因為這個原因?qū)е掳葱杓虞d失敗,特別注意import不能在任何地方引入按需加載的組件。

以上是“React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站aaarwkj.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:React-router中結(jié)合webpack實現(xiàn)按需加載的示例分析-創(chuàng)新互聯(lián)
本文鏈接:http://aaarwkj.com/article26/ccgjcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站收錄、定制開發(fā)網(wǎng)站排名、Google網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
欧美成人一区二区三区片| 欧美两性色一区二区三区| 久久婷婷国产综合精品青草| 有码不卡中文字幕在线视频| 久久av天堂在线观看| 日韩一区二区人妻在线| 婷婷色悠悠,色悠悠激情啪啪| 麻豆国产免费av在线| 韩国福利短片在线观看| 亚洲新大香蕉视频在线播放| 亚洲伦理av在线观看| 亚洲激情视频久久精品| 日韩人妻精品在线一区二区| 日韩精品电影一区在线观看| 亚洲一区二区四区乱码在线| 国产精品一区二区av不卡| 成人免费视频观看国产| 亚洲男人天堂日本一区| 国产熟女av一区二区| 青青草日韩视频在线观看 | 亚洲精品另类中文字幕| 日本人妻中文字幕在线一区 | 黄色大片免费在线观看| 麻豆精品新av中文字幕| 国内自拍视频一区高清视频| 欧美日韩在线不卡一区| 亚洲一区二区精品免费视频| 我要看亚洲黄色片一级| 巴西老熟女大奶子多毛逼| 麻豆成人三级电影在线| 欧美激情中文字幕日韩精品| 高清区一区二区在线播放| 午夜性色福利在线播放| 97成人在线免费视频| 日韩大片一区二区三区在线观看| 老汉av免费在线观看| 国产综合亚洲欧美日韩在线| av蜜臀一区二区三区| 日韩成人中文字幕在线视频| 99精品亚洲一区二区| 午夜福利院在线观看免费|