webpack打包图片

本文介绍了在webpack中如何打包处理图片,主要涉及file-loader和url-loader的使用。当图片大小小于limit时,url-loader会将其转化为base64格式。通过配置name属性可以改变图片的打包目录和文件名,而hash则用于生成处理后的图片名称。同时,文章提到了在打包过程中需要注意的图片路径问题,确保css文件中引用的图片能正确显示。
摘要由CSDN通过智能技术生成

图片打包关键要用到file-loaderurl-loader,其中url-loaderfile-loader功能基本一致,只不过url-loader能将小于某个大小的图片进行base64格式的转化处理。

安装

npm install --save-dev url-loader
module:{
 	rules:[
            {
      	       test:/\.(png|gif|bmp|jpg)$/,
      	       use:'url-loader?limit=5000&name=image/[hash:8]-[name].[ext]'
            }
 	]
 }
 {
         //将图片打包到发布环境中的images目录下

          test: /\.(jpg|jpeg|gif|png|svg)$/,
          use: {
            loader: 'url-loader',
            options: {
              limit: 1024 * 1,
              name: 'images/[hash:8].[ext]',
              publicPath: '../'
            }
   }

 

注意:limiet的意思是:图片大小小于limit时,使用base64转码。大于limit时,正常打包。

        name:通过name属性改变图片的打包目录和文件名。

        hash:图片经过处理后,会在输出文件夹中生成图片,此时图片的名字为hash。ext代表图片的格式。

publicPath:为你的文件配置自定义 public 发布目录

outputPath:为你的文件配置自定义 output 输出目录 

注意:webpack 在打包时,首先会把图片复制到 /dist/images/ 文件夹下,然后把 css 文件中的 url 路径替换为 webpack 中 options 的 name 属性指向的路径,即 /images/logo.jpg, 但是这个路径是相对路径,是相对于 /dist/css/~.css 来说的, 所以此处引用的 文件地址为: /dist/css/images/logo.jpg。 但是我们打包后的 css 文件夹中, 并没有 images/logo.png, 所以图片并没有渲染出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值