您现在的位置是:首页 > 文章详情

Parcel 2.9.0 发布,零配置构建工具

日期:2023-05-27点击:183

Parcel 是用于 Web 的零配置构建工具。它将出色的开箱即用开发体验与可扩展的体系结构相结合,可将你的项目从零发展为大规模生产应用程序。

Parcel 2.9 现已发布Parcel v2.9.0 包含许多期待已久的功能,包括支持 package.json“导出”和 tsconfig.json 功能的全新解析器、对 ESM 插件和配置的支持以及本地 Parcel 插件。

此版本还通过由 SWC、增量符号传播和改进的捆绑器数据结构提供支持的新默认 JS 缩小器提高性能,并包括新的构建性能跟踪功能。

更新内容如下:

新的解析器

Parcel v2.9.0 包括一个用 Rust 从头开始​​编写的全新解析器实现。它支持所有现有的 Parcel 解析功能,同时添加了对 package.json“exports”和“imports”以及 tsconfig.json“baseUrl”、“paths”和“moduleSuffixes”的支持。

ESM 插件和配置

除了对 CommonJS 的现有支持之外,Parcel 现在还支持作为原生 ES 模块编写的插件和配置文件。这意味着插件可以使用 .mjs 格式发布到 npm,或者在它们的 package.json 中使用 "type": "module" 以在 .js 文件中启用 ESM 语法。现在还支持 postcss.config.mjs 等配置文件。

本地插件

在 Parcel v2.9.0 中,插件可以作为来自 .parcelrc 配置的相对路径被引用。不需要有自己的 package.json —— 可以直接引用一个 JavaScript 文件。

插件在进行更改时热重载,甚至不需要在开发时重新启动 Parcel。

仍然鼓励将插件发布到 npm。

SWC 压缩器

在 Parcel v2.9.0 中,默认的压缩器从 Terser 切换到 SWC。

SWC 压缩器比 Terser 快 7 倍左右,同时产生的输出尺寸甚至更小。 SWC 也支持大多数 Terser 配置选项,因此如果您有 .terserrc ,它应该可以继续工作。

增量符号传播

符号传播是一种算法,它遍历项目的完整依赖关系图,并确定每个模块的哪些导出被实际使用,哪些可以被 tree shaking 掉。在 Parcel v2.9.0 中,这个算法现在是增量的。

 它不会在您每次进行更改时遍历整个图形,而是跟踪您更改的文件中修改了哪些依赖项,并更新现有图形。

构建性能跟踪

Parcel 现在包含一个 --trace CLI 标志,它将跟踪在构建的每个阶段花费了多少时间、调用了哪些插件以及每个阶段花费了多长时间。以 Chrome 跟踪格式输出数据,您可以将其加载到 Chrome 开发工具或其他更高级的分析工具(如 Perfetto)中。

 

此版本中还有许多较小的功能和错误修复,可查看完整的发行说明以了解详细信息。

原文链接:https://www.oschina.net/news/242696/parcel-2-9-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章