postcss7和postcss8的差异

本文介绍了PostCSS是一个CSS转换框架,不是预处理器,它使用JavaScript插件来转换样式。对比了PostCSS7和PostCSS8在插件编写上的差异,包括新API的使用、更小的节点模块以及更快的CSS构建速度。PostCSS8引入的单次扫描API提高了处理速度20%。文章还讨论了版本差异带来的问题,如插件在不同版本间的兼容性,以及如何解决这些问题。
摘要由CSDN通过智能技术生成


1. postcss是什么

PostCSS 是解析器,它将 CSS 解析为对象树(AST)。然后插件改变了这棵树,最后PostCSS 从一个修改过的对象树生成一个新的 CSS 字符串。

PostCSS 不是一个预处理器,也不是一种添加语法糖的方式,它是一个用于创建 CSS 工具的框架,是一个用 JavaScript 插件来转换样式的工具。一个 PostCSS 插件是一个接收并且通常从 PostCSS 解析器转换 CSS AST 的函数。PostCSS 让任何有 JavaScript 经验的人都可以创建自己的插件。

2. postcss7

2.1 编写插件

编写适用于postcss7.x版本的插件语法:

// 需要导入postcss
const postcss = require('postcss');

module.exports = postcss.plugin('postcss-merge2', (opts = {
    }) => {
   
    return (root, result) => {
   
        root.walkRules(rule => {
   
            ...
        })
    }
})

3. postcss8带来的新特性

插件开发者现在可以在postcss8.0中选择使用一个新的 API,这个 API 可以提高构建速度,并减少其工具的最终用户的依赖大小。

3.1 编写插件

编写适用于postcss8.x的插件使用新的插件 API,不需要导入 PostCSS,会得到所有的类和方法作为函数的第二个参数:

- const {
    decl: Declaration } = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值