本篇内容

  • css3前缀处理postcss
  • 消除未使用的css部分
  • 图片处理
  • css分离和分离后的图片处理

css3前缀处理postcss

cnpm i -D postcss-loader autoprefixer

在webpack.config.js中建postcss.config.js

module.exports={
plugins:[
require('autoprefixer')
]
}

在webpack.config.js中

{
test:/\.css$/, //要匹配的文件后缀名
use: extractTextPlugin.extract({
fallback: "style-loader",
use: ["css-loader",'postcss-loader'] //此处加上'postcss-loader'
})
},

消除未使用的css部分

cnpm i -D purifycss-webpack purify-css

const glob=require('glob');
const purifyCSSPlugin=require('purifycss-webpack');
plugins:[
new purifyCSSPlugin({
paths:glob.sync(path.join(__dirname,'src/*.html')) //注意键名为paths
})
],

图片处理

cnpm i -D url-loader

{
test:/\.(png|jpg|gif)/,
loaders:'url-loader', //插件需要引入,loader不需要专门的引入
options:{
limit:5000 , //单位B,小于是转为base64,大于复制
outputPath:'img/' //配置打包后图片放的位置,否则图片会生成在根目录下
} }

css分离和分离后的图片处理

extract-text-webpack-plugin

cnpm i -D extract-text-webpack-plugin

//引入插件
const extractTextPlugin=require('extract-text-webpack-plugin'); plugins:[
//将css分离出来(也可分离其他类型,如sass,less方法用啊相同use略有差异)
new extractTextPlugin('css/index.css') //注意此处路径前勿加/,否则link引入出会出现//多一个/
], //改变上面的css-loader
{
test:/\.css$/, //要匹配的文件后缀名
use: extractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
}, 使用webpack打包后css不会直接打在js中会分离出单独的css文件 此时若图片文件过大,没有转成base64则引入路径会出现问题: Failed to load resource: the server responded with a status of 404 (Not Found)
//解决方案: output:{
path:path.resolve(__dirname,'dist'),
filename:'[name].js',
publicPath:'../' //添加该句解决静态路径的问题,打包后css文件相对于图片
},

此时问题:代码中使用img标签引入图片路径打包后找不到相应图片

解决:

cnpm i -D html-withimg-loader

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

项目地址:https://github.com/adoctors/webpack-3.6.0-demo1

webpack@3.6.0(2) -- css及图片相关问题的更多相关文章

  1. webpack4 前端框架基础配置实例-解决css分离图片路径问题

    1.安装nodejs 2. 需要全局和项目安装webpack和webpack-dev-server npm install webpack webpack-dev-server -g npm inst ...

  2. css背景图片,bootstrap和jquery-ui结合使用,dialog案例

    css将一个不能铺满整个屏幕的图片铺满整个屏幕,将一下代码放到body中 <img src="image/login6.jpg" width="100%" ...

  3. Bootstrap css背景图片的设置

    一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...

  4. 使用CSS将图片转换成黑白(灰色、置灰)z转

    小tip: 使用CSS将图片转换成黑白(灰色.置灰) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.c ...

  5. css背景图片拉伸 以及100% 满屏显示

    如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在 ...

  6. 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果

    去年盛夏之时,曾写过“小tip: 使用CSS将图片转换成黑白”一文,本文的模式以及内容其实走得是类似路线.CSS3 → SVG → IE filter → canvas. 前段时间,iOS7不是瓜未熟 ...

  7. CSS之图片关闭

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. PHP 简易读取文件目录下的文件,生成css spirte图片

    因为个人不是对PS熟悉,不清楚如何在PS中生成一张横向有序的spirte图片,使用了"css sprite V4.3"版本,生成的图片会出现压缩图片大小的情况,本想修改原作者开发的 ...

  9. [转] 小tip: 使用CSS将图片转换成模糊(毛玻璃)效果 ---张鑫旭

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3804 去年盛夏之时, ...

随机推荐

  1. PL/SQL学习笔记_01_基础:变量、流程控制

    PL/SQL语句可以在Oracle客户端的 SQL窗口或者 command  窗口中运行 在SQL窗口中运行步骤同 SQL语句 在command  窗口中运行的步骤如下: 1)File—new com ...

  2. JSP--常用标签

    JSTL简介: JSTL是Java中的一个定制标签库集 实现了JSP页面中的代码复用,提高效率 可读性更强,方便前端查看与开发 环境搭建: JSTL标签和Servlet及JSP页面有比较严格的版本对应 ...

  3. docker 安装过程

  4. linux命令学习笔记(56):netstat命令

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况. netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UD ...

  5. HDOJ(1018)

    Big Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  6. puppet前端管理工具foreman-proxy bind 127.0.0.1:8443问题解决

    最近在玩foreman,发现部署foreman-proxy的时候,总是出现8443bind在127.0.0.1端口,导致无法访问的情况. 如下图: 经过strace -o log.txt bin/sm ...

  7. 机器学习:从sklearn中加载数据

    一.sklearn模块 sklearn模块下有很多子模块,常用的数据集在:sklearn.datasets模块下: 通过数据集中DESCR来查看数据集的文档: 从datasets中加载数据: impo ...

  8. 【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发

    目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素 ...

  9. ES6学习之数值扩展

    二进制和八进制表示法(二进制用前缀0b(或0B)表示,八进制用前缀0o(或0O)表示) Number('0b111') Number('0o10') Number.isFinite()(判断一个值是否 ...

  10. B/S测试与C/S测试之区别

    我们在日常功能测试工作中,常常依据测试对象和测试目标的不同分为四个级别的测试,单元测试.集成测试.系统测试和验收测试,但是往往忽略了被测应用系统架构.在测试过程中针对不同的系统架构,测试的侧重点也不同 ...