前端

初识PostCss

2019-06-18  本文已影响3人  前白

Less和Sass主要是解决了一个模块化的问题,但是还有一个全局的样式的污染问题。我今天个人分享的就是关于PostCss的一些个人理解。

PostCss

PostCss是Autoprefixer的开发者Andrey Sitnik开发的,它最初是一个通过JavaScript来处理CSS 的方法。

可以理解为一种插件系统(类似于css领域的webpack),它本身只是一个API,作为一个API它可以创建任何需要的插件和工具。

PostCss有两个概念:pre-processor(预处理器)和post-processor(后处理器)。

像Sass、Less和Stylus都是属于预处理器的范畴,按照预处理器的语法来写css的代码,最后交由预处理器的编译器编译成一个传统的css,这个就叫做预处理器
post-processor(后处理器)就是我们把css代码写完之后,交由它去处理,添加一些必要的属性,比如比较典型的:CSS Prefixer,会加上一些浏览器的前缀。

官方定义

PostCSS is a tool for transformimg CSS with JS plugins.
These plugins can support variables and mixins,transpile future CSS syntax,inline images,and more.

翻译过来的意思就是说呢,PostCSS是一个用JS插件转换css的工具。这些插件可以支持变量和混合,转换成未来的css语法,内联图像等。我们可以把PostCss理解成一个管道,然后在管道各处可以放一些插件,然后从管道经过的css都会经过插件的处理。实际上PostCss它将css代码转换成抽象的一个语法结构AST,就是一个对象的一个树,然后方便插件处理。

PostCss定位和使用

PostCss是一个插件系统,所以它既不是预处理器也不是后处理器,类似于css领域的webpack、Grunt和Gulp进行集成。它的作用就是整合预处理器和后处理器。

关于PostCss的使用,一般是不单独使用的,与已有的构建工具集合;比如webpack、Grunt和Gulp。
最广泛的PostCss使用是与webpack集成。

与webpack集成

1 搭建环境

PostCss 常见插件介绍

文章主要介绍了PostCss的定位,结合webpack介绍了PostCss主要的几个插件:autoprefixer、postcss-cssnext、postcss-modules、lost、stylelint。文章可能存在很多不足,阅读的小伙伴们看到了可以稍作提示或者哪里有错误的可以私信告诉我纠正过来,O(∩_∩)O谢谢。

上一篇下一篇

猜你喜欢

热点阅读