zoukankan      html  css  js  c++  java
  • webpack 之(5) webpack.config.js配置 之 img

    webpack5的版本 后面有版本会单独出一篇文章

    通过load打包img文件

       注意内容

             url-loader 和 file-loader是一起的,若是less里面用到了图片那就没关系

             若是html中用了img标签引用图片,那么打包后就会出现问题,图片显示不出来,这个问题一直都存在,不知如何解决

             html-loader不是处理html文件的,而是处理html文件中的img图片的

            

    打包前的html文件内容

    /* 
    强调一下:
     自己测试得到的结果
     
    
    在目前的最新的webpack版本中并没有出现以下问题:
     解析时会出问题:[object Module]
     //解决:关闭url-loader的es6模块化,使用commonjs解析
    */
    const {resolve} = require('path')
    const HtmlWebPackPlugin = require('html-webpack-plugin')
    module.exports ={
      entry:'./src/index.js',
      output:{
        filename:'built.js',
        path:resolve(__dirname,'build')
      },
      module:{
        rules:[
          {
            test:/.less$/,
            use: [
              'style-loader',
              'css-loader',
              //将less文件编译成css文件
              //需要下载less-loader和less
              'less-loader'
            ]
          },
          {
            test: /.(jpg|png|gif)$/,
            //还需下载 file-loader
            loader:'url-loader',
            options: {
              //图片大小小于8kb,就会被base64处理
              //优点:减少请求数量(减轻服务器压力)
              //图片体积会更大
              limit:8*1024,
              /* 问题:因为url-loader默认使用es6模块化解析,而html-loader引入图片是commonjs
              解析时会出问题:[object Module]
              //解决:关闭url-loader的es6模块化,使用commonjs解析
              */
              esModule:false,
           /* 
                 [hash:10]取图片的hash的前10位
                 [ext]取文件原来扩展名
               */
                name: '[hash:10].[ext]'
         }
          },
          {
            test:/.html$/,
            //处理html文件的img图片(负责引入img,从而能被url-loader进行处理)
            loader:'html-loader',
          }
        ]
      },
      plugins:[
        new HtmlWebPackPlugin({
          template:'./src/index.html'
        })
      ],
      mode:'development'
    }
  • 相关阅读:
    C++数据结构与算法(第4版) 完整版 高清pdf扫描版[193MB] 下载
    Streams AQ: enqueue blocked on low memory等待事件导致expdp导出缓慢问题
    Unity中使用 UGUI Toggle 和 Toggle Group 做单选列表
    unity UGUI动态滑动列表
    在Unity 中调用打印机来打印图片
    Unity3D中读取CSV文件
    unity 获取网络时间和本地时间
    win10右击无法新建文件,只能新建文件夹和快捷方式
    python笔记二、基础知识
    python笔记一、部分插件的作用及安装方法
  • 原文地址:https://www.cnblogs.com/zmztya/p/14708311.html
Copyright © 2011-2022 走看看