最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Webpack提取頁面公共資源的實現(xiàn)

 更新時間:2023年01月25日 11:33:06   作者:aiguangyuan  
本文主要介紹了Webpack提取頁面公共資源的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

1. 利用html-webpack-externals-plugin 分離基礎(chǔ)庫

在做React開發(fā)時,經(jīng)常需要引入react和react-dom基礎(chǔ)庫,這樣在打包的時候速度就會比較慢,這種情況下我們可以將這些基礎(chǔ)庫忽略掉,將它們通過CDN的方式直接引入,而不打包到bundle文件里面去。

1. 安裝插件

npm i html-webpack-externals-plugin -D

2. 引入插件

const HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin');

3. 使用插件

在 webpack 中配置如下:

module.exports = {
 
    // 其它配置項此處略
 
    plugins: [
        new HtmlWebpackExternalsPlugin({
            externals: [
              {
                module: 'react',
                entry: 'https://11.url.cn/now/lib/16.2.0/react.min.js',
                global: 'React',
              },
              {
                module: 'react-dom',
                entry: 'https://11.url.cn/now/lib/16.2.0/react-dom.min.js',
                global: 'ReactDOM',
              },
            ]
        }),
   
    ]
};

在根頁面 index.html 文件中引入基礎(chǔ)庫:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>分離基礎(chǔ)庫</title>
</head>
<body>
 
    <div id="root"></div>
 
    <!-- 引入基礎(chǔ)庫 -->
    <script type="text/javascript" src="https://11.url.cn/now/lib/16.2.0/react.min.js"></script>
    <script type="text/javascript" src="https://11.url.cn/now/lib/16.2.0/react-dom.min.js"></script>
    
</body>
</html>

2. 利用SplitChunksPlugin 分離基礎(chǔ)庫

此插件是Wabpack4內(nèi)置的,無需安裝,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            cacheGroups: {
                commons: {
                    // 匹配出需要分離的包
                    test: /(react|react-dom)/,
                    name: 'vendors',
                    chunks: 'all'
                }
            }
        }
    }
};

分離出來的文件名前輟為vendors,也要進行配置。

3. 利用SplitChunksPlugin 分離依賴包

此插件是Wabpack4內(nèi)置的,無需安裝,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            // 同步還是異步
            chunks: 'async',
            // 抽離公共包最小的大小(KB)
            minSize: 30000,
            // 抽離公共包最大的大小(KB)
            maxSize: 0,
            // 方法最小使用次數(shù)
            minChunks: 1,
            // 瀏覽器每次請求異步資源的次數(shù)
            maxAsyncRequests: 5,
            maxInitialRequests: 3,
            automaticNameDelimiter: '~',
            name: true,
            cacheGroups: {
                vendors: {
                    test: /[\\/]node_modules[\\/]/,
                    priority: -10
                }
            }
        }
    }
};

chunks 參數(shù)說明:

1. async 異步引入的庫進行分離(默認);

2. initial  同步引入的庫進行分離 ;

3. all 所有引入的庫進進分離(推薦);

4. 利用SplitChunksPlugin 分離頁面公共文件

此插件是Wabpack4內(nèi)置的,無需安裝,用于替代CommonsChunkPlugin插件。

module.exports = {
    optimization: {
        splitChunks: {
            // 分離的包體積的??
            minSize: 0,
            cacheGroups: {
                commons: {
                    name: 'commons',
                    chunks: 'all',
                    // 最?引?次數(shù)為2次
                    minChunks: 2
                }
            }
        }
    }
};

分離出來的文件名前輟為commons,也要進行配置。

 到此這篇關(guān)于Webpack提取頁面公共資源的實現(xiàn)的文章就介紹到這了,更多相關(guān)Webpack提取公共資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Howler.js Web音頻播放終極解決方案

    詳解Howler.js Web音頻播放終極解決方案

    這篇文章主要介紹了詳解Howler.js Web音頻播放終極解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-08-08
  • 詳解ES6 Promise的生命周期和創(chuàng)建

    詳解ES6 Promise的生命周期和創(chuàng)建

    這篇文章主要介紹了詳解ES6 Promise Promise的生命周期和創(chuàng)建,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-08-08
  • JavaScript設(shè)計模式之調(diào)停者模式實例詳解

    JavaScript設(shè)計模式之調(diào)停者模式實例詳解

    這篇文章主要介紹了JavaScript設(shè)計模式之調(diào)停者模式,詳細分析了調(diào)停者模式的概念、原理、優(yōu)缺點并結(jié)合javascript實例形式給出了相關(guān)使用技巧,需要的朋友可以參考下
    2018-02-02
  • 基于JavaScript的簡易計算器功能

    基于JavaScript的簡易計算器功能

    這篇文章主要為大家詳細介紹了基于JavaScript的簡易計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 再談javascript常見錯誤及解決方法

    再談javascript常見錯誤及解決方法

    下面小編就為大家?guī)硪黄僬刯avascript常見錯誤及解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • JavaSript中變量的作用域閉包的深入理解

    JavaSript中變量的作用域閉包的深入理解

    js中的變量都是公用的沒有靜態(tài)變量,下面為大家介紹下變量的作用域閉包,需要的朋友可以參考下
    2014-05-05
  • JavaScript中String對象的使用方法以及實例

    JavaScript中String對象的使用方法以及實例

    這篇文章主要給大家介紹了關(guān)于JavaScript中String對象的使用方法以及實例的相關(guān)資料,文中通過實例代碼介紹的非常詳細,方便開發(fā)者在JavaScript開發(fā)中更好地處理字符串,需要的朋友可以參考下
    2022-04-04
  • 詳細解密jsonp跨域請求

    詳細解密jsonp跨域請求

    當進行一些比較深入的前端編程的時候,不可避免地需要進行跨域操作,JSONP跨域GET請求是一個常用的解決方案,下面我們來看一下JSONP跨域是如何實現(xiàn)的,并且探討下JSONP跨域的原理。
    2015-04-04
  • echarts自定義legend樣式的詳細圖文教程

    echarts自定義legend樣式的詳細圖文教程

    在默認的餅狀圖里面,圖例legend顏色是黑色的,有時候根據(jù)ui需要,根據(jù)不同的背景色,下面這篇文章主要給大家介紹了關(guān)于echarts自定義legend樣式的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • javascript中Promise的三種狀態(tài)示例詳解

    javascript中Promise的三種狀態(tài)示例詳解

    這篇文章主要給大家通過講解和實踐,詳細介紹了Promise對象的三種狀態(tài):pending(待定)、fullfilled(已兌現(xiàn))、rejected(已拒絕),并通過日志查看,展示了Promise狀態(tài)的改變順序,幫助讀者更好的理解和應(yīng)用Promise,需要的朋友可以參考下
    2024-10-10

最新評論

澄迈县| 芷江| 同仁县| 上思县| 岳普湖县| 涿州市| 且末县| 武宣县| 襄樊市| 应城市| 石家庄市| 永修县| 云南省| 新乡县| 金乡县| 株洲县| 荃湾区| 临泽县| 吉木乃县| 上林县| 阳曲县| 鹿邑县| 谢通门县| 天台县| 新郑市| 铁力市| 浦北县| 长白| 邵阳市| 阿合奇县| 宜春市| 舞阳县| 资中县| 额济纳旗| 隆德县| 乐平市| 绥阳县| 米林县| 习水县| 马关县| 澄江县|