• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Webpack性能優化 DLL 用法詳解

    來源:懂視網 責編:小采 時間:2020-11-27 22:33:00
    文檔

    Webpack性能優化 DLL 用法詳解

    Webpack性能優化 DLL 用法詳解:前言 在用 Webpack 打包的時候,對于一些不經常更新的第三方庫,比如 react,lodash,我們希望能和自己的代碼分離開,Webpack 社區有兩種方案 CommonsChunkPlugin DLLPlugin 對于 CommonsChunkPlugin,webpack 每次打包實際還是需要
    推薦度:
    導讀Webpack性能優化 DLL 用法詳解:前言 在用 Webpack 打包的時候,對于一些不經常更新的第三方庫,比如 react,lodash,我們希望能和自己的代碼分離開,Webpack 社區有兩種方案 CommonsChunkPlugin DLLPlugin 對于 CommonsChunkPlugin,webpack 每次打包實際還是需要

    前言

    在用 Webpack 打包的時候,對于一些不經常更新的第三方庫,比如 react,lodash,我們希望能和自己的代碼分離開,Webpack 社區有兩種方案

  • CommonsChunkPlugin
  • DLLPlugin
  • 對于 CommonsChunkPlugin,webpack 每次打包實際還是需要去處理這些第三方庫,只是打包完之后,能把第三方庫和我們自己的代碼分開。而DLLPlugin 則是能把第三方代碼完全分離開,即每次只打包項目自身的代碼。

    用法

    要使用 DLLPlugin,需要額外新建一個配置文件。所以對于用這種方式打包的項目,一般會有下面兩個配置文件

  • webpack.config.js
  • webpack.dll.config.js
  • 先來看下 webpack.dll.config.js

    const webpack = require('webpack')
    const library = '[name]_lib'
    const path = require('path')
    
    module.exports = {
     entry: {
     vendors: ['react', 'lodash']
     },
    
     output: {
     filename: '[name].dll.js',
     path: 'dist/',
     library
     },
    
     plugins: [
     new webpack.DllPlugin({
     path: path.join(__dirname, 'dist/[name]-manifest.json'),
     // This must match the output.library option above
     name: library
     }),
     ],
    }
    
    

    再改下 webpack.config.js 文件

    const webpack = require('webpack')
    
    module.exports = {
     entry: {
     app: './src/index'
     },
     output: {
     filename: 'app.bundle.js',
     path: 'dist/',
     },
     plugins: [
     new webpack.DllReferencePlugin({
     context: __dirname,
     manifest: require('./dist/vendors-manifest.json')
     })
     ]
    }
    

    manifest: require('./dist/vendors-manifest.json') 這里的路徑要和 webpack.dll.config.js 里面的對應。

    然后運行

    $ webpack --config webpack.dll.config.js
    $ webpack --config webpack.config.js

    然后你的 html 文件像下面這樣引用

    <script src="https://www.gxlcms.com/dist/vendors.dll.js"></script>
    <script src="https://www.gxlcms.com/dist/app.bundle.js"></script>

    DLL Link Plugin

    上面的用法也存在一些不方便的地方,比如在 webpack.config.js 中要明確指出對應的 manifest.json 文件。還有當 DLL 需要更新的時候,比如 react 升級了,或者加入新的第三方庫,都需要手動像下面這樣編譯一次。

    $ webpack --config webpack.dll.config.js

    因為上面這些問題,所以基于官方的 DllReferencePlugin,我寫了一個打包的插件,Dll Link Plugin。

    使用這個插件,只需要對 webpack.config.js 作下小小的改動

    const webpack = require('webpack')
    const DllLinkPlugin = require('dll-link-webpack-plugin')
    
    module.exports = {
     // ...
     plugins: [
     new DllLinkPlugin({
     config: require('webpack.dll.config.js')
     })
     ]
    }
    
    

    直接替換掉 DllReferencePlugin,然后傳入對應的 DLL 配置文件就可以了。每次打包的時候,只需要運行

    $ webpack --config webpack.config.js

    上面的命令便會自動生成對應的 vendors 文件,需要更新的時候,也會自動更新。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Webpack性能優化 DLL 用法詳解

    Webpack性能優化 DLL 用法詳解:前言 在用 Webpack 打包的時候,對于一些不經常更新的第三方庫,比如 react,lodash,我們希望能和自己的代碼分離開,Webpack 社區有兩種方案 CommonsChunkPlugin DLLPlugin 對于 CommonsChunkPlugin,webpack 每次打包實際還是需要
    推薦度:
    標簽: 使用 講解 dll
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品亚洲а∨无码播放| 99热精品毛片全部国产无缓冲| 国产精品久久久久9999| 国产在线精品观看免费观看| 久久国产热精品波多野结衣AV| 精品中文高清欧美| 麻豆精品成人免费国产片| 久久精品国产亚洲AV电影 | 久久精品无码一区二区app| 99re8这里有精品热视频免费| 亚洲国产精品成人久久蜜臀 | 日本aⅴ精品中文字幕| 国产精品自产拍在线18禁| 国产成人精品日本亚洲网址| 亚洲精品白浆高清久久久久久| 久久99精品九九九久久婷婷| 国产精品内射视频免费| 国产精品专区第二| 国产精品美女久久久m| 嫩草伊人久久精品少妇AV| 呦交小u女国产精品视频| 国产精品一区二区av不卡| 亚洲国产精品热久久| 精品一区二区久久| 国产成人精品无码一区二区| 日韩精品专区在线影院重磅| 中文精品久久久久人妻不卡| 久久精品国产91久久综合麻豆自制| 亚洲成人国产精品| 日本精品视频在线观看| 韩国三级中文字幕hd久久精品| 国产精品内射久久久久欢欢| 国产成人1024精品免费| 91麻精品国产91久久久久| 五月花精品视频在线观看| 国产伦精品一区二区三区女| 国产精品亚洲欧美一区麻豆| 国产99精品久久| 国产一成人精品福利网站| 精品久久久久久久| 精品国产免费一区二区三区香蕉|