在js中不只能够经过import引入js文件,还能够引入图片、视频等资源文件,这样webpack打包时就会把所引入的资源文件也一块儿打包进来webpack
打包进来的文件会返回一个字符串:即文件的路径web
要作到这一点,须要一个工具,file-loader,使用方法很简单那npm
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].pngurl
为了优化小图片的加载,能够使用url-loader将小于必定尺寸的图片转成base64spa
注意:url-loader是依赖于file-loader的,因此这两个包都必须安装code
{ test: /\.(png|jpg|jpeg|gif)$/, use: [ { loader: 'url-loader', options: { //小于这个尺寸的文件会转成base64,大于的会自动调用file-loader limit: 8192 } } ] },