极乐门资源网 Design By www.ioogu.com
刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不能打包进我们的目标文件夹里。
下面我们就来分析下在webpack项目中图片的应用场景。
1.CSS文件中的背景图等设置
项目目录图:
以下以我项目中的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="/UploadFiles/2021-04-02/media4.png">3.js中引入图片
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"../", 不配置时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]' } ] } };以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
极乐门资源网 Design By www.ioogu.com
极乐门资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com
暂无webpack-url-loader 解决项目中图片打包路径问题的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2025年01月04日
2025年01月04日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]