我们当前使用的webpack版本是webpack5:
- 在webpack5之前,加载这些资源我们需要使用一些loader,比如raw-loader、u rl-loader、file-loader。
- 在webpack5开始,我们可以直接使用资源模块类型(asset module type),来代替上面的这些loader。
资源模块类型(asset module type),通过添加4种新的模块类型,来替换所有这些loader,
- asset/resource 发送一个单独的文件并导出URL,之前通过使用file-loader实现;
- asset/inline 导出一个资源的data URL。之前通过使用url-loader 实现;
- asset/source 导出资源的源代码。之前通过使用raw-loader 实现;
- asset 在导出一个data URL和发送一个单独的文件之间自动选择,之前通过使用url-loader,并且配置资源体积限制实现;
{ test:/\.(jpg|png|svg)$/, type:"asset", generator:{ //打包后生成的图片资源文件夹 filename:"img/[name]_[hash:6][ext]" } parser:{ dataUrlCondition:{ //条件 maxSize: 100 *1024 //最大是多大的我们才会打包成base64 }}}