webpack(十)之Compiler和Compilation的区别

Compiler和Compilation的区别

compiler 在 webpack 构建之初就已经创建,并且贯穿webpack整个生命周 ( before - run - beforeCompiler - complie - make - finishMake - afterComplier - done)

只要是做webpack编译,都会先创建一个compiler

 

compilation是到准备编译模块时,才会创建compilation对象

是 compile - make 阶段主要使用的对象

 

为什么需要compilation

在使用watch,源代码发生改变的时候就需要重新编译模块,但是compiler可以继续使用

如果使用compiler则需要初始化注册所有plugin,但是plugin没必要重新注册

这时候就需要创建一个新的compilation对象

而只有修改新的webpack配置才需要重新运行 npm run build 来重新生成 compiler对象

 

posted @ 2021-07-27 14:03  皮皮溪  阅读(1813)  评论(0编辑  收藏  举报