<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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 社區有兩種方案

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

        用法

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

      4. webpack.config.js
      5. webpack.dll.config.js
      6. 先來看下 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
        主站蜘蛛池模板: 91久久亚洲国产成人精品性色| 精品少妇人妻AV免费久久洗澡| 亚洲一区二区高清| 菠萝菠萝蜜在线免费视频| 男女交性永久免费视频播放| 亚洲AV无码片一区二区三区| 国产高清在线免费| 猫咪免费人成网站在线观看入口| 亚洲日本va午夜中文字幕久久 | 久久99亚洲综合精品首页 | 无码人妻丰满熟妇区免费| 亚洲国产综合专区电影在线| 51视频精品全部免费最新| 亚洲短视频在线观看| 无码国产精品一区二区免费I6| 亚洲色成人WWW永久在线观看| 日本免费无遮挡吸乳视频电影| 一级毛片a免费播放王色电影 | 亚洲成色www久久网站夜月| 日本一区二区免费看| 亚洲精品韩国美女在线| 四虎在线视频免费观看| 免费人成视频在线播放| 亚洲成Av人片乱码色午夜| 国产成人福利免费视频| 亚洲aⅴ天堂av天堂无码麻豆 | 亚洲日韩乱码久久久久久| 好男人www免费高清视频在线| 污污视频免费观看网站| 亚洲爆乳无码专区| 成人毛片免费观看视频大全| 在线播放免费人成视频网站| 亚洲天天在线日亚洲洲精| 在线观看免费为成年视频| www一区二区www免费| 亚洲午夜电影一区二区三区| 亚洲成A人片在线观看中文| 99re6免费视频| 四虎影视久久久免费观看| 亚洲女人初试黑人巨高清| 久久久久久久亚洲精品|