解决wepacke配置postcss-loader时autoprefixer失效问题

本文主要是介绍解决wepacke配置postcss-loader时autoprefixer失效问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文主要讲述了:

  1. 作用
  2. 安装
  3. 示例
  4. 配置

正文

作用

postcss-preset-env允许开发者使用最新的CSS语法而不用担心浏览器兼容性。postcss-preset-env会将最新的CSS语法转换为目标环境的浏览器能够理解的CSS语法。

安装

今天在配置postcss-loader,使用autoprefixer发现根本没有用。

postcss.config.js中是这样的:

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

然后打包也没报错,只是没有起任何作用,一些需要加前缀的地方毫无变化。没作用岂不是白配了。然后我又去搜索如何解决autoprefixer失效问题,发现还需要配置兼容的浏览器。我又按照方法在postcss.config.js中配置。

复制代码

module.exports = {plugins:[require('autoprefixer')({"browsers": ["defaults","not ie < 8","last 2 versions","> 1%","iOS 7","last 3 iOS versions"]})]
}

复制代码

这里兼容浏览器的版本可以自己设置。

然后打包,结果成功,该添加的前缀都添加了。但是却有一段警告:

 

 虽然不影响结果,可这红的黄的提示对我们程序员来说十分不友好呀,所以我一定要干掉它。我用我蹩脚的英语理解了一下大概意思,就是使用  browserslist去替换browsers。browserslist不是添加在postcss.config.js中,而是添加在package.json中。这样做是为了避免browsers可能会导致的错误。所以要想完美解决,就需要这样:

postcss.config.js

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

package.json

复制代码

 "browserslist": ["defaults","not ie < 8","last 2 versions","> 1%","iOS 7","last 3 iOS versions"],

复制代码

这段加在author,keywords同一级

 

 

示例

learn_postcss/postcss.config.js

1
2
3
4
5
module.exports = {plugins: {"postcss-preset-env": {}}
};

源文件:

learn_postcss/index.css

1
2
3
4
5
6
7
8
:root {--mainColor: #12345678;
}body {color: var(--mainColor);display: flex;
}

编译:

1
npx postcss index.css --output index.compiled.css

输出:learn_postcss/index.compiled.css

1
2
3
4
5
6
7
8
9
:root {--mainColor: rgba(18,52,86,0.47059);
}body {color: rgba(18,52,86,0.47059);color: var(--mainColor);display: flex;
}

配置

注意:在没有任何配置的情况下,postcss-preset-env会开启stage 2阶段的特性并支持所有浏览器。

stage

此属性决定了哪些CSS特性需要被填充。

stage共分为5个阶段,分别是:

  • stage-0 非官方草案
  • stage-1 编辑草案或早期工作草案
  • stage-2 工作草案
  • stage-3 候选版本
  • stage-4 推荐标准

示例:

1
2
3
4
5
6
7
module.exports = {plugins: {"postcss-preset-env": {stage: 0}}
};

features

此属性决定了哪些特性应该被开启或者关闭。

browsers

postcss-preset-env使用browserslist来配置目标环境。

autoprefixer

postcss-preset-env集成了autoprefixer。

参考资料

  • postcss-preset-env

这篇关于解决wepacke配置postcss-loader时autoprefixer失效问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348950

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties