00:01
最后呢,我们来到这个three多进程。为什么呢?就是当项目越来越庞大的时候,咱们打包速度会越来越慢。甚至于有时候需要一个下午才能打包出来。对吧,我们想要提升打包速度呢,就是要主要提升的是GS的打包速度,因为JS问题占的比重是最大的。干的活也是最多的。所以我们要对他提升。前面呢,我们学习了各种方式,包括include include cash去提升GS打包速度,但是还不够。随着体积越来越大,它还是越来越大。那么我们怎么办呢?这时候我们要抓住几个重点啊,因为JS文件处理呢,主要采用的是yes in the BB这几个工具去做的,还有一个T。这个T工具呢,可能大家第一次听说啊,但是我们一直在用。虽然它是看不见的,为啥说呢?我们之前一直在说生产模式下,它JS代码会自动压缩,对吧,但原因就是因为外派内部用上了这个T这个插件帮我们压缩JS代码。
01:07
只要我开启了生产模式,这个插件就会自动激活,从而压缩这些代码。所以对JS文件有个压缩操作,就是这个T这个插件去做的,只是你我们没有配置,所以咱们还没感受到。那现在我们就要对它做处理了,我们不光要考虑前两个我们配置过的东西,还要考虑过我们没有配置这个东西也要做。怎么提升呢?这时候我们就想到了我们呃,目前呢,都是使用一个进程去做1ES in,然后再做bab,再做T萨,所以这个速度会比较慢,我们呢,现在CPU呢都是多个核的,完全可以开启多个进程同时干一进视,那同时多个进程同时盖液in。那么就像你之前一个人干一件事,现在多个人干,那么速度就会更快一点。所以我们这里要用的技术是多进程打包开启电脑,多个进程同时干某件事,那么速度更快,同时干,同时干BA,同时干T,那么速度就会快了。
02:07
但是这里要特别注意一件事情啊,一定要在特别耗时中操作,比如说我们针对JS文件处理的比较多,所以在这里面操作会会比较好,因为每个进程启动的时候都需要600毫秒左右的时间。OK,怎么用呢?我们需要呃,先去判断我们CPU的核数啊,因为我能启动的进程最大数量就是我们CPU数,如果你超过了CPU核数,其实剩下的东西他是干不了的。如何获取CPU核数呢?那么我们可以借助no的核心模块叫OS啊os.cpu这个方法就会返回CPU的一些信息,那么点就是CPU的核数了。所以这样呢,我可以得到它相应的合数,然后呢,我们可以做操作。OK,下面呢,我们要去使用这个多线程的话呢,我们还要介绍一个load叫three load,他负责来做这个事。
03:03
我们首先下载,然后进行配置。我以生产模式为例啊,进行配置,然后待会儿呢,我们可以再修改开发模式。好安装好之后呢,我们再去获取咱们的CPU的核数,因为待会儿我们要去啊,开启多个进程需要指定的。首先引入的核心模块OS。然后呢,得到我们的P的合数,我们叫three吧。os.cps的方法,然后它的长度就是我们的这个。CBA的合数。好,接下来呢,我们来去用啊,所有的load呢,需要放在我们要处理的load的前面,比如我们处理的是这个double load放在它前面去处理。这时候我们因为要处理load,所以这里得有不能用load了,得用use。
04:01
好,这是我们的double不变,在上面我们放入three的load的配置。同时我们要指定它到底开启多少个进程啊。那么进程的数量就是我们前面定义的这个three。好,这里呢,就会开启多进程啊,去对B做处理。那么这是进程数量。好,这是咱们的BA yes it往下走,Yes it也可以做啊,但是yes it呢,可以直接写。就可以了,这里就是开启。到进程和进程数量。那么还有一个压缩JS,压缩JS呢,我们需要手动引入这个插件啊。
05:06
插件的PE以及内置了,我们并不需要去,呃。下载我们直接用叫T。它没有提示啊,但是的确有啊。OK,那么这个插件呢,我们可以像之前一样,在这个地方去用调用。然后传入一些配置。传配置叫parallel。啊,它的配置稍微有些不太一样啊,每个配置都不太一样,因为这些插件都是不同人开发的。这样就可以了。好,下面呢,我们和羊片完毕的打包看效果。
06:02
这个时候呢,其实我们打包速度一般来讲会更更慢一点点,原因就是因为我们开启多个进程啊,每个进程都会开销,所以整个打包速度会更慢。整个打包速度会比较明显慢一点,但是随着我们开发的代码越来越庞大,直到达到一个临界点的时候,诶,它的打包速度就会有提升了。是这样的。然后最后呢,就是这个压缩啊,我们可以放在这里面做,还可以放在那个,之前我们提到过optimization。仿这里面也可以做啊,Minimize。Minimize,诶,别写错单词了,我们也可以把这两个东西放这儿来做啊。两边一样的功能啊,都是一样的,我们去打包还是一样的。只是一般来讲呢,我们压缩的东西习惯性的放这了,WIFI5呢是习惯性推荐在这了,可能未来在某些配置中呢,它就只能放这了,但是目前现在两个地方都可以啊,因为它现在是WIFI4到WIFI5的一个过渡,两个地方都可以放。
07:13
啊,我们呢,还是尽量的和官方是一致的,我们也放这里,在这里放置压缩的操作。对吧,这里是压缩C,这里是压缩咱们的这个A啊JS。我们还是写一下吧。那么过去呢,我们生产模式下,它会自动启用这插件,我们现在需要手动写的原因就是因为我们要给它传配置,所以我们需要重新的手动写这个插件。好了,那么这以上呢,就是我们的这个生产模式的这个。配置了,同时开发模式配置呢,也是一模一样的写法。
08:00
所以我们要做的就是在开放模式下也是这样写一遍。往下走。把这个use规则复制一份。这个T换掉。OK,然后呢,往下走,下面这里接着写。因为他有注释啊,所以我就直接复制了。呃,这里呢,JS因为开放模式下没有压缩啊,所以我们就不需要处理了。好了,那么这一块呢,就是我们的。这个多进程打包。啊,能够提升我们的这个打包速度,但是一定要注意,就是当我们文件比较多的时候,它的效果才明显,当我们文件比较少的时候呢,它反而会加让打包速度变得更慢,因为每个进程启动需要时间。
09:07
所以大家需要注意一下。
我来说两句