摘要:會將您的放置在一個池里面運行,以達(dá)到多線程構(gòu)建。請在高開銷的中使用,否則效果不佳更多配置請查看,通過多進(jìn)程模型,來加速代碼構(gòu)建。壓縮是發(fā)布前處理最耗時間的一個步驟,如果是你是在中,只要幾行代碼,即可加速你的構(gòu)建發(fā)布速度。
本文由云+社區(qū)發(fā)表構(gòu)建作者:志航
影響前端發(fā)布速度的有兩個方面,一個是構(gòu)建,一個就是壓縮,把這兩個東西優(yōu)化起來,可以減少很多發(fā)布的時間。
thread-loaderthread-loader 會將您的 loader 放置在一個 worker 池里面運行,以達(dá)到多線程構(gòu)建。
把這個 loader 放置在其他 loader 之前(如下圖 example 的位置), 放置在這個 loader 之后的 loader 就會在一個多帶帶的 worker 池(worker pool)中運行。
Install$ npm install --save-dev thread-loader用法 和 exmaple
// webpack.config.js module.exports = { module: { rules: [ { test: /.js$/, include: path.resolve("src"), use: [ "thread-loader", // 你的高開銷的loader放置在此 (e.g babel-loader) ] } ] }
每個 worker 都是一個多帶帶的有 600ms 限制的 node.js 進(jìn)程。同時跨進(jìn)程的數(shù)據(jù)交換也會被限制。請在高開銷的loader中使用,否則效果不佳
更多配置請查看: https://github.com/webpack-co...
happypackhappypack,通過多進(jìn)程模型,來加速代碼構(gòu)建。從 github 的 starts 數(shù)量來看,happypack 使用的人數(shù)比較多,比較受歡迎。
原理相關(guān)的技術(shù)原理這里不再累贅,可以查看淘寶FED的相關(guān)文章 happypack 原理解析
用法和examplevar HappyPack = require("happypack"); var happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length }); // ... 省略其余配置 module: { loaders: [ { test: /.less$/, loader: ExtractTextPlugin.extract( "style", path.resolve(__dirname, "./node_modules", "happypack/loader") + "?id=less" ) } ] }, plugins: [ new HappyPack({ id: "less", loaders: ["css!less"], threadPool: happyThreadPool, cache: true, verbose: true }) ]構(gòu)建方法總結(jié)
從實際使用的情況來看,thread-loader 和 happypack 對于小型項目來說打包速度幾乎沒有影響,是因為它本身的額外開銷,例如I/O,建議只在大型項目中使用,可以先測試再投入生產(chǎn)環(huán)境。
壓縮 不推薦使用 webpack-parallel-uglify-plugin項目基本處于沒人維護(hù)的階段,issue 沒人處理,pr沒人合并。
推薦使用 terser-webpack-pluginterser-webpack-plugin 是一個使用 terser 壓縮js的webpack 插件。
壓縮是發(fā)布前處理最耗時間的一個步驟,如果是你是在webpack 4 中,只要幾行代碼,即可加速你的構(gòu)建發(fā)布速度。
用法和 exampleconst TerserPlugin = require("terser-webpack-plugin"); module.exports = { optimization: { minimizer: [new TerserPlugin( parallel: true // 多線程 )], }, };
更多用法請查看上面鏈接。
總結(jié)隨著 webpack 4 的優(yōu)化,構(gòu)建速度其實得到了極大的提升,也收到了parcel 等零配置Web應(yīng)用打包工具的啟發(fā),其實 webpack 的配置日趨簡潔,何不嘗試配置一下呢?
此文已由騰訊云+社區(qū)在各渠道發(fā)布
獲取更多新鮮技術(shù)干貨,可以關(guān)注我們騰訊云技術(shù)社區(qū)-云加社區(qū)官方號及知乎機構(gòu)號
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/53859.html
摘要:會將您的放置在一個池里面運行,以達(dá)到多線程構(gòu)建。請在高開銷的中使用,否則效果不佳更多配置請查看,通過多進(jìn)程模型,來加速代碼構(gòu)建。壓縮是發(fā)布前處理最耗時間的一個步驟,如果是你是在中,只要幾行代碼,即可加速你的構(gòu)建發(fā)布速度。 本文由云+社區(qū)發(fā)表作者:志航 構(gòu)建 影響前端發(fā)布速度的有兩個方面,一個是構(gòu)建,一個就是壓縮,把這兩個東西優(yōu)化起來,可以減少很多發(fā)布的時間。 thread-loade...
摘要:快杰云主機發(fā)布款全新機型在去年大會上,云主機團隊推出了萬網(wǎng)絡(luò)性能萬存儲性能的快杰云主機。但同時價格則與上一代快杰持平,升頻不加價。其中在的跑分中,快杰與上代快杰相比算力提升。除了上述三款性能主機外,上還發(fā)布了采用處理器的快杰型預(yù)覽版。10月23日以構(gòu)建·創(chuàng)見|為主題的UCloud用戶大會暨Think in Cloud 2020(以下簡稱TIC)在上海召開。在本次大會上,UCloud推出了歷經(jīng)...
2013年,你是甲方,我是乙方,我為你云適配。 2014年,我的地盤你做主,云適配攻城獅們的工作陣地將全權(quán)授權(quán)給你,你可以自由的 DIY 您的網(wǎng)站,No more time,No Money,只要1天,只要1個人,只要2步,云適配開放平臺一站搞定,您的跨屏網(wǎng)站即刻誕生了?。?! BUT,BUT,BUT,在你開始完全做主前,我們想邀請您來參與云適配開放平臺的內(nèi)測,只要您具備最基礎(chǔ)的前端開發(fā)技術(shù),擁有一...
2013年,你是甲方,我是乙方,我為你云適配。 2014年,我的地盤你做主,云適配攻城獅們的工作陣地將全權(quán)授權(quán)給你,你可以自由的 DIY 您的網(wǎng)站,No more time,No Money,只要1天,只要1個人,只要2步,云適配開放平臺一站搞定,您的跨屏網(wǎng)站即刻誕生了?。?! BUT,BUT,BUT,在你開始完全做主前,我們想邀請您來參與云適配開放平臺的內(nèi)測,只要您具備最基礎(chǔ)的前端開發(fā)技術(shù),擁有一...
閱讀 4588·2021-09-22 14:57
閱讀 564·2019-08-30 15:56
閱讀 2668·2019-08-30 15:53
閱讀 2241·2019-08-29 14:15
閱讀 1689·2019-08-28 17:54
閱讀 561·2019-08-26 13:37
閱讀 3479·2019-08-26 10:57
閱讀 1047·2019-08-26 10:32