Webpack之image

2023-10-27

CSS中的图片处理

直接从外部引入css的背景等图片是打包不出来的,需要用到url-loader和file-loader。

file-loader:解决引用路径的问题,file-loader可以解析项目中的url引入(不仅限于css),根据我们的配置,将图片拷贝到相应的路径,再根据我们的配置,修改打包后文件引用路径,使之指向正确的文件。

url-loader:图片较多,会发很多http请求,会降低页面性能。这个问题可以通过url-loader解决。url-loader会将引入的图片编码,生成dataURl。相当于把图片数据翻译成一串字符。

npm install --save-dev file-loader url-loader

module:{
        rules: [
            {
              test: /\.css$/,
              use: [ 'style-loader', 'css-loader' ]
            },{
               test:/\.(png|jpg|gif)/ ,
               use:[{
                   loader:'url-loader',
                   options:{
                       limit: 5*1024 // 图片大小 > limit 使用file-loader, 反之使用url-loader
                       outputPath: 'images/' // 指定打包后的图片位置
                   }
               }]
            }
          ]
    }

url-loader封装了file-loader,使用了url-loader后就不需要使用file-loader了。

分离CSS 及分离后的图片处理

npm install --save-dev extract-text-webpack-plugin

const ExtractTextWebpackPlugin = require('extract-text-webpack-plugin');
let cssExtract = new ExtractTextWebpackPlugin('css.css');
let lessExtract = new ExtractTextWebpackPlugin('less.css');
let sassExtract = new ExtractTextWebpackPlugin('sass.css');

...

module: {
    rules: [
         {
            test: /\.css$/,
            loader: cssExtract.extract({
                use: ['css-loader?minimize']
            })
        }, {
            test: /\.less$/,
            loader: lessExtract.extract({
                use: ['css-loader?minimize', 'less-loader']
            })
        }, {
            test: /\.scss$/,
            loader: sassExtract.extract({
                use: ['css-loader?minimize', 'sass-loader']
            })
        }
    ]
}

...

plugins: [
    cssExtract,
    lessExtract,
    sassExtract
]

处理图片路径问题

const PUBLIC_PATH='htp://localhost:8080/';

output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath:PUBLIC_PATH
}

在新版本中,extract-text-webpack-plugin会出现问题,安装时用npm install --save-dev extract-text-webpack-plugin@nxet或者用mini-css-extract-plugin代替。

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
  plugins: [
    new MiniCssExtractPlugin({
      // Options similar to the same options in webpackOptions.output
      // both options are optional
      filename: "[name].css",
      chunkFilename: "[id].css"
    })
  ],
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          MiniCssExtractPlugin.loader,  // replace ExtractTextPlugin.extract({..})
          "css-loader"
        ]
      }
    ]
  }
}

处理html中的图片

html-withimg-loader

{
    test: /\.(htm|html)$/i,
     use:[ 'html-withimg-loader'] 
}

转载于:https://www.cnblogs.com/jadedoo/p/10188370.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Webpack之image 的相关文章

随机推荐

  • VS2010中打开VS2012的项目

    VS2012中对C 的支持度非常好 不管是编写方便程度 不需要插件就能高亮代码及代码自动提示功能 还对MFC的一些功能优化很多 我们可以修改两个工程文件来把VS2012的工程文件一直到VS2010中去 首先当然是修改解决方案文件 sln文件
  • 普通台式机上Tesla M40显卡paddleGPU深度学习柯南的变身器上机体验

    Tesla M40显卡上机体验 废话 正文 改电源线 放入显卡准备散热工具 尝试开机 开装驱动 cuda行列 paddlepaddlegpu版安装 上大佬的柯南变声器代码 本地运行 实测效果 提醒 购机需谨慎 免责声明 总结 改善 引导 废
  • design contains shelved or modified (but not repoured) polygons. the result....继续铺铜还是报警,解决方案如下:

    当AD21中出现 design contains shelved or modified but not repoured polygons the result of drc is not correct recommended to r
  • AAV相关研究最新进展(2023年5月)

    截至2022年11月22日 美国FDA宣布批准uniQure与CSL Behring合作研发的AAV基因疗法Hemgenix AMT 061 CSL222 上市 这是FDA批准的首款治疗血友病B成人患者的基因疗法 同时也是迄今为止第六款上市
  • mybatisplus连接sqlserver配置

    目录 前言 一 所需依赖 二 application yml 三 分页插件 前言 本文主要讲解连接sqlserver的配置 一 所需依赖
  • (一)Unity3D离散仿真引擎基础

    1 解释游戏对象 GameObjects 和资源 Assets 的区别与联系 游戏对象 游戏对象直接出现在游戏场景 scence 中 是资源整合的具体表现 游戏对象一般有玩家 敌人 游戏场景 摄像机等虚拟父类 这些父类没有实例化 而他们的子
  • 多个echarts 设置的graphic相互影响

    使用echarts构建了多个图形 并且能在同一个div中相互切换 其中一个饼状图设置了graphic 其他的没有设置 结果发现设置的echarts的graphic在其他图形上页显示了 如图所示 实际上柱状图是没有设置type为text的gr
  • 浅析MySQL中concat以及group_concat的使用

    吃水不忘挖井人系列 原帖地址 浅析MySQL中concat以及group concat的使用 说明 本文中使用的例子均在下面的数据库表tt2下执行 一 concat 函数 1 功能 将多个字符串连接成一个字符串 2 语法 concat st
  • 论文答辩的二十个问题

    20 defense questions The most common question you may be asked is what you learned from the study you have done You have
  • Java工程师面试必备900+ 道 Java面试题及答案整理(建议收藏)

    很多人都说八股文没用 这里聊一下我对八股文的一些看法吧 一个知识点 你能把使用以及原理说出来 我称之为八股 但是你能把底层关联以及业务使用 优化历程也能搞清楚 我称之为能力 这两点无疑是现在面试都会考察的 按照国内的 IT 求职环境来看 互
  • 11个学习CSS实用工具和资源

    最近业内充斥着关于Sass的文章 教程 甚至在SitePoint这里 我们已经发布比以往更多内容的Sass工具 但是 我们并没有忘记我们的根 CSS 对于那些仍然在学习CSS 或者想要去一点点深入到具体的CSS主题的朋友 我想我会将最近几个
  • 闲鱼项目靠谱吗?小白入坑全指南!

    越来越多的店开始利用互联网来进行自主创业 今天很荣幸的可以为大家分享我自己的创业故事 我是一名汽车维修工人 已经干了有两年多 也晋升到了中工 资薪福利什么的都比较满意 但因为家境不算富裕 加上爸妈身体并不是很好 所以我不得不把自己的全部工资
  • 《Ansible Playbook扩展:任务间流程控制之任务暂停》

    一 wait for模块 wait for是用来在规定时间内检测 状态是否为所期望的状态 才会执行后续的操作 常见使用场景 1 等待直到监听的端口 up 起来 2 等待文件存在或不存在时 再继续执行 3 等待匹配字符串出现在文件中后 再继续
  • I - Tree Gym - 104385I(基础操作性质)

    这题呢 就是知道异或的性质就可以了 一 相同为0 不同为1 即 1 1 0 0 0 0 1 0 1 二 1 交换律 A B B A 2 结合律 A B C A B C 3 自反性 A B B A 由结合律可推 A B B A B B A 0
  • Opencv3.3版本以上使用CNN模型实现年龄和性别检测

    环境 1 安装opencv3 3以上 因为3 3以上才有dnn模块 目前opencv已经更新到opencv4 0 0 alpha 下面网站对更新日志一目了然 https github com opencv opencv wiki Chang
  • vue3.0 + Ts v-model在自定义组件上的使用教程

    前言 之前在vue2 0版本介绍v model在组件上的使用教程时详细介绍了vue3 0 v model相比于2 0的变化 本篇文章主要介绍一下vue3 0的使用教程 如何使用 第一步 index vue作为父组件 这里采用了vant框架
  • Centos7.9 安装Openstack Train版 详细手把手每一步搭建

    1 升级内核 先准备两台机器 我这里准备的是2台 32G 16核 500G硬盘的服务器 一台作为master 一台作为计算节点机器 master 机器有两个网卡 一个是ip 10 10 162 38 另一个网卡和10 10 162 38是同
  • 攻防演练场景中面临的常见加密威胁-SSH隧道工具sish

    工具介绍 sish是一个开源的反向代理工具 通过在公共的端点和本地运行的服务器之间建立一个安全的ssh通道 该工具的功能是将内网端口暴露在公网上 该工具部署在公网中 本地无需安装 无需注册 支持转发的协议有HTTP S WS S TCP 优
  • python中%符号详解

    python中 符号详解 a 星期几的简写 A 星期几的全称 b 月分的简写 B 月份的全称 c 标准的日期的时间串 C 年份的后两位数字 d 十进制表示的每月的第几天 D 月 天 年 e 在两字符域中 十进制表示的每月的第几天 F 年 月
  • Webpack之image

    CSS中的图片处理 直接从外部引入css的背景等图片是打包不出来的 需要用到url loader和file loader file loader 解决引用路径的问题 file loader可以解析项目中的url引入 不仅限于css 根据我们