Webpack 使用url-loader和file-loader打包资源文件
在js中不仅可以通过import引入js文件,还可以引入图片、视频等资源文件,这样webpack打包时就会把所引入的资源文件也一起打包进来
打包进来的文件会返回一个字符串:即文件的路径
要做到这一点,需要一个工具,file-loader,使用方法很简单那
1. 安装
npm install file-loader --save-dev
2. 配置
{ test: /\.(png|jpg|jpeg|gif)$/, use: [ { loader: 'file-loader', options: { //配置公共资源路径 publicPath: './', //配置输出路径 outputPath: 'images/' } } ] },
配置其中的 publicPath 与 output 配置中的 publicPath 作用一直,如果两者都设置了,那么以 output 下的 publicPath 为准,上面配置最终文件输出位置为 /images/[hash].png
为了优化小图片的加载,可以使用url-loader将小于一定尺寸的图片转成base64
注意:url-loader是依赖于file-loader的,所以这两个包都必须安装
{ test: /\.(png|jpg|jpeg|gif)$/, use: [ { loader: 'url-loader', options: { //小于这个尺寸的文件会转成base64,大于的会自动调用file-loader limit: 8192 } } ] },