首页 >web前端 >css教程 >包裹CSS:一个新的CSS解析器,变压器和小型,新的CSS解析器

包裹CSS:一个新的CSS解析器,变压器和小型,新的CSS解析器

Joseph Gordon-Levitt
Joseph Gordon-Levitt原创
2025-03-15 11:07:08701浏览

Parcel CSS: A New CSS Parser, Transformer, and Minifier, a New CSS Parser

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呢?根据文档,原因如下:

  • CSS压缩
  • 自动添加厂商前缀
  • 处理CSS Modules(经典库,而非原生)
  • 生成Source Map

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

还有一个杀手级特性!我认为Parcel CSS最强大的功能是“语法降低”(syntax lowering),这意味着您可以使用未来的CSS特性(例如嵌套),然后将其处理成浏览器可以理解的代码,就像Babel处理JavaScript一样。这与postcss-preset-env的精神类似。

而且,它速度极快:

Parcel CSS能否成为一个生态系统?

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

以上是包裹CSS:一个新的CSS解析器,变压器和小型,新的CSS解析器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn