Parcel CSS:一个新的CSS解析器、转化器和最小化器

198 阅读2分钟

Parcel的创建者Devon Govett刚刚发布了Parcel CSS

一个用Rust编写的CSS解析器、转换器和分解器。

很好。CSS世界可以使用像这样的小处理方式。

几周前刚写过

你知道esbuild是如何严重动摇了JavaScript处理世界的吗?也许我们需要一个cssbuild?它将处理导入并进行捆绑(我们通常依赖Sass来处理)。关键是要有极高的速度。也许它是基于插件的,并且与PostCSS的API兼容,这样现有的PostCSS插件就可以在它上面工作。也许它可以制作源代码图并进行修改。也许它也能运行你的Sass,我不知道。但是,像这样能激发CSS生态系统的东西可能是很酷的。

结束了!看起来它做捆绑(反正是独立的)。我想它将不得不发明一个语法,因为我认为Sass有点后悔它如何使用@import ,就像本地CSS一样的模糊性,我不会责怪任何人不想走这条路。这是一个棘手的领域,肯定的,因为发明语法有点把它放入一个不同类别的工具。我想这是值得的,因为将CSS分解成更小的文件,但在开发过程中将它们捆绑起来,就像......人们做的一件事,而且我可以看到人们真的想使用这个,而不一定要使用Parcel(它可以捆绑)。

那么,为什么要通过这个东西来运行你的CSS呢?从文档中看,你想这么做是因为......

  • 它是一个最小化器。
  • 它对供应商进行前缀处理。
  • 它可以处理CSS模块(经典库,而不是本地模块),而且
  • 你可以得到源码图。

(最初,我以为它利用其他工具来完成这些任务,因为Autoprefixer和cssnano等工具出现在项目的package.json 文件中,但正如下面Devon的评论所证实的,Parcel CSS是这些工具的替代品,它并不使用它们)。

但还有一个!那就是在我看来,Parcel CSS的杀手锏是他们所说的 "语法降低",这意味着你今天可以使用 "未来 "的CSS(比如说嵌套),将其处理成浏览器能够理解的东西,就像Babel在JavaScript中所做的那样。它在精神上与postcss-preset-env相似。

最重要的是,它很快速。

Tow line charts chowing how fast Parcel CSS bundles packages and how small the resulting files are.

Parcel CSS的速度很快,输出的文件也很小。(来源:@devongovett)

Parcel CSS会成为一个生态系统吗?

**所以我想最大的问题是:**如果Parcel CSS成为首选的CSS解析器,我们会得到插件吗?如果我们这样做了,它是否会像PostCSS插件一样成为一个强大的生态系统?