亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

webpack-url-loader 解決項目中圖片打包路徑問題

2024-05-06 16:48:07
字體:
來源:轉載
供稿:網友

剛開始用webpack的同學很容易掉進圖片打包這個坑里,比如打包出來的圖片地址不對或者有的圖片并不能打包進我們的目標文件夾里。

下面我們就來分析下在webpack項目中圖片的應用場景。

1.CSS文件中的背景圖等設置

項目目錄圖:

webpack-url-loader,圖片,打包,路徑

以下以我項目中的test.css為例

.test{  color: red;  width: 150px;  height: 100px;  overflow: hidden;  background: url("../img/box@2x.png") no-repeat;  background-size: 150px auto;}.img-base64{  color: red;  width: 150px;  height: 100px;  overflow: hidden;  background: url("../img/media1.png") no-repeat;  background-size: 100px auto;}#img-e {  width:100px;}

2.html文件中引入圖片,下面為模板文件index.html

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>webpack-img</title></head><body>1.css背景圖 圖片格式<div class="test"></div>2.css背景圖 轉化為base64<div class="img-base64"></div>3.html里引入圖片<div><img src="img/media4.png" style="margin: 0px; padding: 0px; outline: none; line-height: 25.2px; font-size: 14px; width: 660px; overflow: hidden; clear: both; font-family: tahoma, arial, "Microsoft YaHei";">	
require('../css/test.css');var imgSrc = require('../img/do.gif');var img = new Image();img.id = 'img-e';img.src = imgSrc;document.body.appendChild(img);

url-loader

在 webpack 中引入圖片需要依賴 url-loader 這個加載器。

在 webpack.config.js 文件中配置如下:

{    test://.(jpg|png|gif|bmp|jpeg)$/,    loader: 'url-loader?limit=8192&name=img/[hash:8].[name].[ext]'   }

test 屬性代表可以匹配的圖片類型,除了 png、jpg 之外也可以添加 gif 等,以豎線隔開即開。

loader 后面 limit 字段代表圖片打包限制,這個限制并不是說超過了就不能打包,而是指當圖片大小小于限制時會自動轉成 base64 碼引用。上例中大于8192字節的圖片正常打包,小于8192字節的圖片以 base64 的方式引用。

url-loader 后面除了 limit 字段,還可以通過 name 字段來指定圖片打包的目錄與文件名

而使用extractTextPlugin插件時,需要配置publicPath: "../", 不配置時css文件中背景圖默認地址會在css文件夾下查找圖片資源,導致項目圖片路徑不正確

webpack.config.js 配置文件如下:

const webpack = require("webpack")const HtmlWebpackPlugin = require('html-webpack-plugin')const extractTextPlugin = require("extract-text-webpack-plugin")const path = require('path')const extractCSS = new extractTextPlugin("css/[name].[hash:6].css")//const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');//壓縮css插件module.exports = { //注意這里是exports不是 entry: './src/js/main.js', output: {  publicPath:"./",  path: path.resolve(__dirname + "/dist"),  //打包后的js文件存放的地方  filename: "js/[name].[hash:6].js" //打包后的js文件名 }, plugins: [  extractCSS,  new OptimizeCssAssetsPlugin(),//壓縮css  new webpack.optimize.UglifyJsPlugin(),//new uglify(),//壓縮js  new HtmlWebpackPlugin({   filename: 'index.html',   template:'src/index.html'  }) ], module: {  rules: [ //1.0的是loaders   //處理js中的loader   {    test: //.js$/,    loader: 'babel-loader',    include: path.resolve(__dirname, '/src'),    //指定打包的文件    exclude: path.resolve(__dirname, '/node_modules') //排除打包的文件,加速打包時間   },   //處理css中的loader   {    test: //.css$/,    use: extractTextPlugin.extract({     fallback: "style-loader",     publicPath: "../",     use: [      {       loader: 'css-loader',       options:{        minimize: true //css壓縮       }      }     ]    })   },   //處理html模板中的loader   {    test: //.html$/,    loader: 'html-loader'   },   //處理ejs模板中的loader,以.tpl后綴結尾的   {    test: //.tpl$/,    loader: 'ejs-loader'   },   //處理圖片中的loader,file-loader,url-loader,image-webpack-loader相互配合(圖片格式轉換base64 圖片壓縮)   {    test://.(jpg|png|gif|bmp|jpeg)$/,    loader: 'url-loader?limit=8192&name=img/[hash:8].[name].[ext]'   }   ] }};

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲高清免费观看高清完整版| 欧美激情按摩在线| 热久久这里只有精品| 久久精品国产综合| 国产婷婷成人久久av免费高清| 日韩高清欧美高清| 精品亚洲一区二区三区在线观看| 日韩成人激情在线| 在线观看欧美日韩国产| 色综合色综合久久综合频道88| 久久久国产视频| 国产精品毛片a∨一区二区三区|国| 欧美成人h版在线观看| 欧美美女操人视频| 在线观看免费高清视频97| 这里精品视频免费| 日韩视频欧美视频| 久久视频在线免费观看| 国产精品都在这里| 91tv亚洲精品香蕉国产一区7ujn| 国内揄拍国内精品少妇国语| 在线国产精品视频| 欧美日韩在线影院| 久久这里有精品| 国产精品极品尤物在线观看| 日韩中文字幕国产精品| 欧美另类老肥妇| 国产成人啪精品视频免费网| 国产精品久久久久91| 国产精品国产三级国产aⅴ浪潮| 亚洲综合色激情五月| 国产va免费精品高清在线| 日韩av三级在线观看| 日产日韩在线亚洲欧美| 日韩欧美极品在线观看| 欧美色播在线播放| 美女福利视频一区| 国产在线观看一区二区三区| 日韩av一区二区在线| 欧美xxxx做受欧美| 国产日韩中文字幕在线| 伦伦影院午夜日韩欧美限制| 一区二区欧美亚洲| 精品国产福利在线| 久久手机精品视频| 青青草原成人在线视频| 成人国产精品免费视频| 青青久久av北条麻妃海外网| 国产97在线播放| 欧美精品午夜视频| 国产精品美女免费视频| 中文字幕av一区二区三区谷原希美| 亚洲社区在线观看| 久久国产精品亚洲| 久久久久久久久国产精品| 韩国三级日本三级少妇99| 国产精品流白浆视频| 欧美日韩高清在线观看| 色偷偷av一区二区三区| 在线观看国产欧美| 久久久电影免费观看完整版| 北条麻妃一区二区三区中文字幕| 久久久久北条麻妃免费看| 国产做受69高潮| 亚洲精品mp4| 成人久久一区二区| 日本午夜人人精品| 久久精品99久久香蕉国产色戒| 国产97色在线|日韩| 国产视频久久久久久久| 国内精品美女av在线播放| 91精品视频一区| 九九精品在线观看| 亚洲高清一区二| 96精品久久久久中文字幕| 亚洲图片欧洲图片av| 伊人伊人伊人久久| 亚洲最大福利视频网站| 国产视频一区在线| 欧美激情xxxxx| 日韩国产在线看| 成人黄色在线播放| 日日噜噜噜夜夜爽亚洲精品| 欧美超级乱淫片喷水| 欧美一级高清免费播放| 在线免费看av不卡| 欧美在线视频导航| 川上优av一区二区线观看| 久久久久久香蕉网| 欧美精品激情视频| 韩国精品久久久999| 国产精品视频公开费视频| 欧美成人免费观看| 久久久噜噜噜久久久| 亚洲bt欧美bt日本bt| 国产91精品视频在线观看| 久久久日本电影| 国产精品v片在线观看不卡| 国产精品久久久久久亚洲调教| 亚洲国产精品人人爽夜夜爽| 欧美影院在线播放| 欧美激情亚洲一区| 视频一区视频二区国产精品| 日本久久中文字幕| 久久噜噜噜精品国产亚洲综合| 国产97在线视频| 97精品一区二区视频在线观看| 亚洲国产精品成人精品| 成人精品久久一区二区三区| 国产精品视频免费在线观看| 中文字幕日韩av| 亚洲国产精品久久久久秋霞蜜臀| 国产精品福利无圣光在线一区| 欧美日韩一区二区免费视频| 91久久精品视频| 久久精品91久久久久久再现| yellow中文字幕久久| 91在线免费网站| 亚洲大胆人体av| 国产精品美女呻吟| 久久久久久12| 韩剧1988在线观看免费完整版| 亚洲欧美中文日韩在线v日本| 国产成人涩涩涩视频在线观看| 亚洲欧美中文字幕| 欧美精品一本久久男人的天堂| 国产精品久久久久久久久免费| 亚洲精品一区在线观看香蕉| 国产成人精品一区| 国产精品欧美日韩久久| 奇米4444一区二区三区| 国产精品久久久久av免费| 国产日韩综合一区二区性色av| 免费不卡在线观看av| 色狠狠久久aa北条麻妃| 国产成人激情视频| 最近免费中文字幕视频2019| 亚洲图片欧美日产| 久久99久久久久久久噜噜| 亚洲japanese制服美女| 国产婷婷色综合av蜜臀av| 日韩性xxxx爱| 麻豆国产va免费精品高清在线| 欧美激情视频网| 国产日韩亚洲欧美| 国产精品中文字幕在线观看| 97欧美精品一区二区三区| 成人国产精品久久久| 欧美中文字幕视频| 中文字幕在线看视频国产欧美在线看完整| 欧美日韩性视频| 久久激情五月丁香伊人| 日韩激情片免费| 成人h片在线播放免费网站| 亚洲嫩模很污视频| 一区二区三区动漫| 亚洲a中文字幕| 精品欧美激情精品一区| 欧美视频在线免费看| 在线a欧美视频| 亚洲精品资源在线| 久久不射热爱视频精品| 国产精品久久久久久亚洲影视| 欧美日韩国产91|