一、PnpWebpackPlugin
背景
什么是Pnp
?可以详见本人的这篇博客。Pnp
实际是yarn
的一个特性,所以说如果你的项目中不使用yarn
构建,那就可以不用使用这个插件。其次,即使你使用了yarn
,如果不通过文中所述的开启pnp的方法去启用pnp
,那这个插件对你来说也是无用的。
使用
大家知道webpack
的reslove模块是用来配置模块解析规则的。如果你的项目中启用了pnp
,那么想象一下,最基本的,就是你没有node_modules
文件夹了。你的所有的依赖配置都会存储在.pnp.js
文件中(实际依赖项安装在系统根目录),这就会使得你在项目中使用require
或者import
模块时,需要一些区别于普通的webpack
引入的方式。PnpWebpackPlugin
就可以使你在使用pnp的场景下,让你免于配置resolve
,采用开箱即用的方式,让你不用担心你的require
和import
引入文件的正确性