Skip to content

减少模块解析

什么是模块解析?

模块解析包括:抽象语法树分析、记录依赖、替换依赖函数。

image-20220712102957836

不做模块解析会怎么样?

如果某个模块不做解析,该模块经过loader处理后的代码就是最终代码。

如果没有loader对该模块进行处理,该模块的源码就是最终打包结果的代码。

如果不对某个模块进行解析,可以缩短构建时间。

image-20220712103107955

哪些模块不需要解析?如何判断?

没有其他依赖的模块: 已经打包好的第三方库,如jquery。

工具:npmgraph

如何让某个模块不解析?

通过module.noParse字段来配置,它是一个正则,被匹配到的模块不会被解析。

js
module.exports = {
    module: {
        noParse: /juqery/
    }
}