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