Parcel CSS,来自Parcel的创造者Devon Govett的最新力作,是一个用Rust编写的CSS解析器、转换器和压缩器。这为CSS处理领域带来了一股清新的活力。
几周前,我曾设想一个类似于esbuild
的CSS工具:cssbuild
。它能处理导入、进行打包(目前通常依赖Sass),并以极高的速度运行。或许它会基于插件,并兼容PostCSS API,以便现有PostCSS插件能够在其上运行。它还可以生成Source Map并进行代码修改,甚至可能运行Sass。这样的工具能够像esbuild
一样激发CSS生态系统的活力。
Parcel CSS虽然与我的设想接近,但目前似乎并不具备打包功能(至少不是独立的)。我猜想这是因为需要为此发明一种新的语法。Sass在使用@import
时的歧义性(与原生CSS相同)或许是其教训,我不怪任何人不想重蹈覆辙。这确实是一个棘手的问题,因为发明语法会将它归入不同的工具类别。但我认为这是值得的,因为将CSS分解成更小的文件并在开发中进行打包是一种常见的做法,而无需完全依赖Parcel(它可以进行打包)。
那么,为什么要使用Parcel CSS处理CSS呢?根据文档,原因如下:
(最初,我以为它利用了其他工具来完成这些任务,因为像Autoprefixer和cssnano这样的工具出现在项目的package.json
文件中。但Devon的评论证实,Parcel CSS是这些工具的替代品,它并不依赖它们。)
还有一个杀手级特性!我认为Parcel CSS最强大的功能是“语法降低”(syntax lowering),这意味着您可以使用未来的CSS特性(例如嵌套),然后将其处理成浏览器可以理解的代码,就像Babel处理JavaScript一样。这与postcss-preset-env的精神类似。
而且,它速度极快:
最大的问题是:如果Parcel CSS成为首选的CSS解析器,我们会得到插件吗?如果我们得到插件,它会像PostCSS插件一样成为一个强大的生态系统吗?
以上是包裹CSS:一个新的CSS解析器,变压器和小型,新的CSS解析器的详细内容。更多信息请关注PHP中文网其他相关文章!