<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      一,目標
      今天打算做一些webpack打包編譯的速度優化。
      二,準備工作
      當前webpack版本 4.43.0
      首先,既然是做速度優化,就得先知道當前的編譯速度是多少。
      推薦這個插件:speed-measure-webpack-plugin
      GitHub地址:
      https://github.com/stephencookdev/speed-measure-webpack-plugin?github.com/stephencookdev/speed-measure-webpack-plugin
      npm i -D speed-measure-webpack-plugin
      用法也很簡單,官方文檔里也有
      const SpeedMeasurePlugin = require("speed-measure-webpack-plugin"); const smp = new SpeedMeasurePlugin(); module.exports = smp.wrap(webpackConfig);
      然后我們再運行一下build命令
       
       
      添加圖片注釋,不超過 140 字(可選)
      終端里會出現上面這張圖,還是蠻清晰的,每個模塊的編譯時間,包括plugin的執行時間,都會有,報紅的時間都是超過10s的
      (補充:這里的modules with no loaders實際上就是無需編譯瀏覽器可識別的js)
      OK,既然已經有了時間了,那我開始優化了。
       
      三,確定方案
      Google了一下,目前有兩種主流方案:
      happypack和thread-loader
      先來看一下happypack,這里是GitHub地址
       
      看了官方文檔后,果斷放棄,為什么?
       
       
      添加圖片注釋,不超過 140 字(可選)
       
       
      添加圖片注釋,不超過 140 字(可選)
      噗呲,作者都推薦了thread-loader了,那我還有啥好說的,直接上鏈接:
       
      npm install --save-dev thread-loader
      按照文檔一通配置,我先來針對eslint-loader試一下效果
      { enforce: 'pre', test: /\.(js|jsx)$/, exclude: [ /node_modules/ ], include: [ path.resolve(__dirname, '../src') ], use: [ { loader: "thread-loader" }, { loader: 'eslint-loader' } ] },
      其實就是放到需要優化的loader之前
      再次執行
       
       
      添加圖片注釋,不超過 140 字(可選)
      這。。。。。。
      重新加一些參數
      { enforce: 'pre', test: /\.(js|jsx)$/, exclude: [ /node_modules/ ], include: [ path.resolve(__dirname, '../src') ], use: [ { loader: "thread-loader", options: { workerParallelJobs: 50, poolParallelJobs: 50 } }, { loader: 'eslint-loader' } ] },
      再次執行
       
       
      添加圖片注釋,不超過 140 字(可選)
      好像相比上次好了一點點,但是竟然還是沒有去掉的時候速度快。
      不過確實webpack編譯時間每次都不一樣,所以要多編譯幾次,然后看大致的平均時間:
      我經過多次編譯對比之后發現,好像確實是不添加的快。。
       
       
      添加圖片注釋,不超過 140 字(可選)
      看到官方的這條提示,我明白了,原來真的不是所有的loader加了這個都會變快的,有的真的甚至會變慢,所以還是需要親自編譯觀察對比才行。
      接著我來試一下sass-loader部分:
      { test: /\.(scss|css)$/, use: [ { loader: "thread-loader", options: { workerParallelJobs: 50, poolParallelJobs: 50 } }, { loader: MiniCssExtractPlugin.loader }, { loader: 'css-loader', options: { sourceMap: false, modules: { localIdentName: config.defaultLocalIdentName } } }, { loader: 'postcss-loader' }, { loader: 'sass-loader' } ] },
      老樣子,將這個thread-loader放到所有的樣式loader的最前面,再次編譯
       
       
      添加圖片注釋,不超過 140 字(可選)
      唉,看來真的沒有變快,依然差不多,甚至有時候還不如不添加。。
       
      補充:這里有一個坑,如果你這么配置,報了這個錯誤
       
       
      添加圖片注釋,不超過 140 字(可選)
      解決方案是將thread-loader放到minicssextractplugin.loader后面就行了,附上issue鏈接
       
      這里還有一個坑,如果你的sass-loader版本是8.0的,那么你直接這么配置會報錯
       
       
      添加圖片注釋,不超過 140 字(可選)
      你需要將sass-loader版本號降到7.3.1,然后再跑就OK了,附上issue鏈接
       
      四,結論
      1,使用speed-measure-webpack-plugin進行打包速度檢測,記得多試幾次,看平均時間;
      2,Happypack不再維護,特別是Webpack 4+,優先考慮thread-loader;
      3,thread-loader一定要記得配置參數,多次對比發現配置比默認要快一些;
      4,thread-loader并不是完全正向有效的,如果loader本身執行并不復雜,模塊并不多,使用了可能會拖慢速度,因此是否需要使用還是要自己對比看看。
      posted on 2025-05-29 14:55  言先生  閱讀(75)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 成人国产精品中文字幕| 人妻少妇精品系列一区二区| 日本久久99成人网站| 亚洲男人天堂av在线| 瑞昌市| 亚洲一区二区三区啪啪| 999精品色在线播放| 久久精品国产99久久六动漫| 和艳妇在厨房好爽在线观看| 免费午夜无码片在线观看影院| 久久精品国产国产精品四凭| 麻豆a级片| 日本一级午夜福利免费区| 乱人伦人妻中文字幕不卡| 亚洲欧洲一区二区综合精品| 人妻va精品va欧美va| 少妇被粗大的猛烈进出动视频| 四虎影院176| 一二三三免费观看视频| 国产女人和拘做受视频免费| 无码熟妇人妻av在线电影| 无码av波多野结衣| 中文字幕乱妇无码AV在线| 777天堂麻豆爱综合视频| 99久久无码一区人妻a黑| 香蕉久久一区二区不卡无毒影院| 午夜福利免费区在线观看| 韩国19禁无遮挡啪啪无码网站| 日韩精品久久不卡中文字幕| 午夜国产理论大片高清| 亚洲一区二区三区自拍偷拍| 日韩加勒比一本无码精品| 少妇粗大进出白浆嘿嘿视频| 鲁丝片一区二区三区免费| 精品中文人妻在线不卡| 免费无码一区无码东京热| 人妻中文字幕精品系列| 在线 欧美 中文 亚洲 精品| 宾馆人妻4P互换视频| 欧美人与动牲猛交A欧美精品| 天天综合色一区二区三区|