<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      webpack打包圖片資源

      轉(zhuǎn)載請(qǐng)注明 來源:http://www.eword.name/
      Author:eword
      Email:eword@eword.name

      webpack打包圖片資源

      一、打包圖片的核心配置

      // loader的配置
          module: {
              rules: [
                  //打包 css 文件的詳細(xì)loader配置
                  {
                      //匹配哪些文件
                      test: /\.css$/,
                      //使用哪些loader進(jìn)行處理
                      use: [
                          // use數(shù)組中l(wèi)oader執(zhí)行順序:從右到左,從下到上依次執(zhí)行
                          //創(chuàng)建style標(biāo)簽,將js中的樣式資源插入進(jìn)行,添加到head中生效
                          'style-loader',
                          //將css文件變成commonjs模塊加載js中,里面內(nèi)容是樣式字符串
                          'css-loader'
                      ]
                  },
                  //打包less 文件的詳細(xì)loader配置
                  {
                      //匹配哪些文件
                      test: /\.less$/,
                      //使用哪些loader進(jìn)行處理
                      use: [
                          // use數(shù)組中l(wèi)oader執(zhí)行順序:從右到左,從下到上依次執(zhí)行
                          //創(chuàng)建style標(biāo)簽,將js中的樣式資源插入進(jìn)行,添加到head中生效
                          'style-loader',
                          //將css文件變成commonjs模塊加載js中,里面內(nèi)容是樣式字符串
                          'css-loader',
                          //將less文件編譯成css文件
                          //需要下載less-loader和less
                          'less-loader'
                      ]
                  },
                  {
                      //問題:默認(rèn)處理不了 html 中的 img 圖片
                      //處理圖片資源
                      test: /\.(jpg|png|gif)$/,
                      //使用一個(gè)loader
                      //下載url-loader file-loader
                      loader: 'url-loader',
                      options: {
                          //圖片大小小于8kb,就會(huì)被base64處理
                          //優(yōu)點(diǎn):減少請(qǐng)求數(shù)量(減輕服務(wù)器壓力)
                          //缺點(diǎn):圖片體積會(huì)更大(文件請(qǐng)求速度更慢)
                          limit: 8 * 1024,
                          //問題:因?yàn)閡rl-loader默認(rèn)使用es6模塊化解析, 而html-loader默認(rèn)引入圖片是commonjs
                          //解析時(shí)會(huì)出問題: [object Module]
                          //解決:關(guān)閉url-loader的es6模塊化,使用commonjs解析
                          esModule: false,
                          // 給圖片進(jìn)行重命名
                          //[hash:10]取圖片的hash的前10位
                          // [ext]取文件原來擴(kuò)展名
                          name: '[hash:10].[ext]',
                          //設(shè)置輸出目錄,將打包的圖片資源放到imgs文件夾
                          outputPath: './imgs'
                      }
                  },
                  {
                      test: /\.html$/,
                      //處理html文件的img圖片(負(fù)責(zé)引入img,從而能被url-loader進(jìn)行處理)
                      loader: 'html-loader',
                      options:
                      {
                          //默認(rèn)情況下,生成使用ES塊語法的Js模塊
                          //問題:生成的圖片顯示錯(cuò)誤
                          //解決: esModule改為false
                          esModule: false,
                      },
                  }
              ]
          },
      

      二、樣式文件中使用圖片(less場景,css 類似)

      #box1{
      	width: 100px;
      	height: 100px;
      	background-image: url('./logo1.png');
      	background-repeat: no-repeat;
      	background-size: 100% 100%;
      }
      
      #box2{
      	width: 200px;
      	height: 200px;
      	background-image: url('./logo2.png');
      	background-repeat: no-repeat;
      	background-size: 100% 100%;
      }
      
      #box3{
      	width: 300px;
      	height: 300px;
      	background-image: url('./logo3.png');
      	background-repeat: no-repeat;
      	background-size: 100% 100%;
      }
      

      2.1、樣式文件中使用圖片時(shí)用到的配置

      // loader的配置
          module: {
              rules: [
                  //打包 css 文件的詳細(xì)loader配置
                  {
                      //匹配哪些文件
                      test: /\.css$/,
                      //使用哪些loader進(jìn)行處理
                      use: [
                          // use數(shù)組中l(wèi)oader執(zhí)行順序:從右到左,從下到上依次執(zhí)行
                          //創(chuàng)建style標(biāo)簽,將js中的樣式資源插入進(jìn)行,添加到head中生效
                          'style-loader',
                          //將css文件變成commonjs模塊加載js中,里面內(nèi)容是樣式字符串
                          'css-loader'
                      ]
                  },
                  //打包less 文件的詳細(xì)loader配置
                  {
                      //匹配哪些文件
                      test: /\.less$/,
                      //使用哪些loader進(jìn)行處理
                      use: [
                          // use數(shù)組中l(wèi)oader執(zhí)行順序:從右到左,從下到上依次執(zhí)行
                          //創(chuàng)建style標(biāo)簽,將js中的樣式資源插入進(jìn)行,添加到head中生效
                          'style-loader',
                          //將css文件變成commonjs模塊加載js中,里面內(nèi)容是樣式字符串
                          'css-loader',
                          //將less文件編譯成css文件
                          //需要下載less-loader和less
                          'less-loader'
                      ]
                  },
                  {
                      //問題:默認(rèn)處理不了 html 中的 img 圖片
                      //處理圖片資源
                      test: /\.(jpg|png|gif)$/,
                      //使用一個(gè)loader
                      //下載url-loader file-loader
                      loader: 'url-loader',
                      options: {
                          //圖片大小小于8kb,就會(huì)被base64處理
                          //優(yōu)點(diǎn):減少請(qǐng)求數(shù)量(減輕服務(wù)器壓力)
                          //缺點(diǎn):圖片體積會(huì)更大(文件請(qǐng)求速度更慢)
                          limit: 8 * 1024,
                          //問題:因?yàn)閡rl-loader默認(rèn)使用es6模塊化解析, 而html-loader默認(rèn)引入圖片是commonjs
                          //解析時(shí)會(huì)出問題: [object Module]
                          //解決:關(guān)閉url-loader的es6模塊化,使用commonjs解析
                          esModule: false,
                          // 給圖片進(jìn)行重命名
                          //[hash:10]取圖片的hash的前10位
                          // [ext]取文件原來擴(kuò)展名
                          name: '[hash:10].[ext]'
                      }
                  }
          
              ]
          },
      

      2.2、安裝對(duì)應(yīng) loader

      # 安裝 url-loader 和 file-loader 
      > npm i url-loader file-loader  -D
      
      • 結(jié)論

      1、先配置 css 或 less 文件的打包配置

      2、在配置 圖片打包配置,配置使用 url-loader 和 file-loader

      3、為了兼容 html 中的圖片打包配置需要關(guān)閉url-loader的es6模塊化,使用commonjs解析防止解析完后出現(xiàn)解析時(shí)會(huì)出問題: [object Module]

      三、html中使用圖片

      <!-- 文件路徑 ./src/index.htmnl -->
      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>webpack 學(xué)習(xí)</title>
      </head>
      <body>
          <h1 id="title">hello webpack</h1>
          <div id="box1"></div>
          <div id="box2"></div>
          <div id="box3"></div>
          <img src="./logo2.png" alt="html中引用圖片" />
      </body>
      </html>
      

      3.1、html中使用圖片時(shí)用到的配置

      // loader的配置
          module: {
              rules: [
                  {
                      test: /\.html$/,
                      //處理html文件的img圖片(負(fù)責(zé)引入img,從而能被url-loader進(jìn)行處理)
                      loader: 'html-loader',
                      options:
                      {
                          //默認(rèn)情況下,生成使用ES塊語法的Js模塊
                          //問題:生成的圖片顯示錯(cuò)誤
                          //解決: esModule改為false
                          esModule: false,
                      },
                  }
              ]
          },
      

      3.2、安裝對(duì)應(yīng) loader

      # 在安裝 url-loader 和 file-loader 的基礎(chǔ)上安裝 html-loader
      > npm i html-loader -D
      
      • 結(jié)論

      1、配置圖片打包配置,配置使用 url-loader 、file-loader 和 html-loader

      2、為了兼容 html 中的圖片打包配置需要關(guān)閉html-loader的es6模塊化,防止生成的圖片顯示錯(cuò)誤

      四、自定義打包圖片名稱和路徑

      // 注意loader中以下的配置
              ……
              // 給圖片進(jìn)行重命名
              //[hash:10]取圖片的hash的前10位
              // [ext]取文件原來擴(kuò)展名
              name: '[hash:10].[ext]',
              //設(shè)置輸出目錄,將打包的圖片資源放到imgs文件夾
              outputPath: './imgs'
              ……
      

      項(xiàng)目中使用 logo1.png、logo2.png、logo3.png 等3張圖片

      最終顯示效果如下:

      image-20210627221608989

      posted @ 2023-08-20 23:54  Eword  閱讀(155)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 香蕉EEWW99国产精选免费| 精品九九热在线免费视频| XXXXXHD亚洲日本HD| 亚洲国产精品一区二区第一页| 护士张开腿被奷日出白浆| 免费无码高H视频在线观看| 久久久久久久久久久免费精品| 国产成人亚洲精品狼色在线| 亚洲中文字幕一区二区| 国产精品无码成人午夜电影| 狠狠五月深爱婷婷网| 亚洲av高清一区二区| 国产999久久高清免费观看| 玖玖在线精品免费视频| 精品无码人妻| 亚洲一区二区三区激情视频| 不卡av电影在线| 亚洲人成网站在线无码| 5D肉蒲团之性战奶水欧美| 阿拉善右旗| 熟妇无码熟妇毛片| 中文字幕免费一二三区乱码| 亚洲天堂av免费在线看| 国产在线中文字幕精品| 久久这里都是精品一区| 亚洲最大av资源站无码av网址| 日本九州不卡久久精品一区| 久久精品国产亚洲av麻豆长发| 狠狠亚洲色一日本高清色| 国产精品午夜福利小视频| AV人摸人人人澡人人超碰| 久久人体视频| 毕节市| 免费人成视频网站在线观看18| 欧美午夜理伦三级在线观看 | 亚洲V天堂V手机在线| 看亚洲黄色不在线网占| 国产三级a三级三级| 98日韩精品人妻一二区| 日本高清中文字幕免费一区二区| 在线a亚洲老鸭窝天堂|