webpack学习(八) --图片处理

图片处理

前面几篇文章介绍了webpack处理js、css,接下来这篇文章将学习webpack最后一个需要处理的文件--图片的处理

案例说话

  • 项目中有一个css文件index.css
  • 在index.css中有一个引入背景图片的样式

未做图片处理
  • 执行webpack,会发现打包报错,解析当前png格式失败

如何做图片处理
  • 图片处理可以依赖三个loader,分别为file-loader、url-loader,img-loader

file-loader:图片打包。

url-loader:与file-loader功能相同且多了可以根据图片大小判断是否打包成base64编码格式功能。个人认为url-loader更适用一些。

img-loader:将图片进行压缩。

  • 在webpack.config.js文件中写入配置
module:{
    rules:[
        {
            test:/\.(jpg|png|jpeg|gif)$/,
            use:[
                {
                    loader:'url-loader',
                    options:{
                        name:'[name][hash:5].[ext]',
                        //限制图片大小,如<=100kb,就进行base64编码,若>100kb,就会打包出来
                        limit:100000,
                        outputPath:'img'  //输出路径
                    }
                },
                {
                    loader:'img-loader',
                    option:{
                        plugins:[
                            require('imagemin-pngquant')({ //imagemin-pngquant需要npm安装
                                quality:[0.3,0.5] // 范围0-1,0为压缩最少,1为压缩最完美的
                            })
                        ]
                    }
                }
            ]
        }
    ]
}
复制代码

若小于设置的limit数,则打包出来的为base64编码

若大于设置的limit数,则打包出来的为设置的outputPath文件夹中

将index.html中的图片做处理

上述我们讲得都是css文件中的图片,当我们在入口文件中引入一个img的时候,执行webpack打包,会发现报错,找不到该图片

因为index.html文件也会打包进dist文件中,而index.html中的文件没做处理,所以打包之后也没做处理,依然引的之前的路径,这时候就需要一个html- loader来解决问题,在html中遇到什么属性的值,要做什么样的处理,都可以用该loader解决

module:{
    rules:[
        {
            test:/\.(jpg|png|jpeg|gif)$/,
            use:[
                {
                    test:/\.html$/,
                    use:[
                        {
                            loader:'html-loader',
                            options:{
                                attrs:['img:src'] //用html-loader来处理所有img标签中src属性中的文件
                            }
                        }
                    ]
                }
            ]
        }
    ]
}
复制代码

转载于:https://juejin.im/post/5d132c15f265da1b7f298e95

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!学习 webpack 是一个很好的决定,它是一个非常流行的前端构建工具,用于打包和管理前端项目中的各种资源。以下是一些帮助你开始学习 webpack 的步骤: 1. 了解基本概念:首先,你需要了解 webpack 的基本概念,例如入口、输出、加载器、插件等。Webpack 官方文档是一个很好的起点,你可以在那里找到详细的说明和示例。 2. 安装 webpack:使用 npm 或 yarn 可以很容易地安装 webpack。在命令行中运行以下命令来安装 webpack: ``` npm install webpack webpack-cli --save-dev ``` 这将安装 webpackwebpack 命令行工具。 3. 创建配置文件:webpack 需要一个配置文件来指定项目的入口点、输出路径、加载器和插件等。创建一个名为 `webpack.config.js` 的文件,并在其中配置你的项目。 ```javascript module.exports = { entry: './src/index.js', output: { path: __dirname + '/dist', filename: 'bundle.js' }, // 其他配置项... }; ``` 4. 创建入口文件:在上面的配置中,我们指定了一个入口文件 `./src/index.js`。创建该文件,并编写你的应用程序代码。 5. 添加加载器和插件:webpack 使用加载器来处理不同类型的文件,例如 JavaScript、CSS、图片等。你可以使用不同的加载器来处理这些文件。同样,你也可以使用插件来扩展 webpack 的功能。在配置文件中添加所需的加载器和插件。 6. 运行 webpack:在命令行中运行 `webpack` 命令,它将使用你的配置文件来打包项目代码。默认情况下,它将创建一个名为 `bundle.js` 的文件,并将其放置在配置中指定的输出路径中。 这只是一个快速入门指南,帮助你开始学习 webpack。随着你的深入学习,你将掌握更多高级特性和技巧。祝你学习愉快!如果你有任何问题,随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值