Parcel 2 beta 3 发布,极速零配置 Web 应用打包工具
Parcel 2 beta 3 已于上周发布,这是一款 Web 应用打包工具,它通过利用多核处理提供了极快的速度,并且不需要任何配置。
新版本的亮点包括:
- 使用 Rust 彻底重写 JavaScript 编译器,整体构建性能提升 10 倍
- 动态导入 Tree shaking
- 支持 tree shaking CSS 模块
- 支持按需构建 (lazy development builds)
- 减少依赖项
- ……
Rust 重写的 JavaScript 编译器性能提升 10 倍
据介绍,Parcel 团队在过去的几个月里一直在专注于用 Rust 重写 Parcel 的 JavaScript 编译器。Parcel 的 JavaScript 编译器负责检测代码中的依赖项(如import
语句和new Worker()
调用),内联process.env
变量和其他 Node 全局变量以及执行范围提升。
此外,Parcel 会自动为已配置的browserslist
目标转译源代码,包括诸如 JSX 和 TypeScript 之类的非标准语法以及 React Fast Refresh 等开发阶段的功能。
在此版本之前, 所有这些任务都是在 Babel AST 的基础上用 JavaScript 实现的,虽然 Parcel 团队进行了许多优化,但 JavaScript 编译器仍是 Parcel 最慢的部分。
新的 JavaScript 编译器基于 Rust 的 SWC 编译器编写,SWC 提供 JavaScript 解析和代码生成功能,以及用于构建超快速 AST 转换的坚实基础。Rust 提供了可预测的性能、即时的启动时间以及对硬件级别进行优化的能力。总体而言,新的编译器将构建性能整体提升了 10 倍。
动态导入 Tree shaking
支持动态导入 Tree shaking 是一项与作用域提升实现相关的功能。Parcel 可以检测动态导入的哪些属性可以被访问,并排除已解析模块中未使用的导出。这适用于 promise chaining、async/await、解构和静态对象属性访问。如果非静态访问任何内容(例如,计算属性),则将包含所有导出。
支持 tree shaking CSS 模块
新版的 Parcel 支持 tree shaking CSS 模块。在 JavaScript 中导入 CSS 模块时,Parcel 会跟踪使用了哪些类,并自动从编译的 CSS 文件中排除未使用的选择器。此外,类名现在会自动内联到已编译的 JavaScript 中,而不是存储在大型对象图中。这将有助于减小 CSS 和 JS 输出的捆绑包大小。
路线图
根据官方开发团队的说法,Beta 3 应该是第一个候选版本发布之前的最终 Beta 版本,对于第一个候选版本,目前正在研究以下项目:
- 改进缓存无效性 (cache invalidation),以进行打包和优化
- 确保缓存在机器或不同文件路径之间(例如 CI)可移植
- 改进的自动差分捆绑支持(模块/无模块)
- API 一致性
候选版本发布之后,公共 API 将被冻结,期间将专注于修复错误和完善文档,这大约需要一个月的时间。一切准备就绪后,将发布 2.0 稳定版。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NetBSD 9.2 发布
NetBSD 9.2“Nakatomi Socrates”已发布,这是 NetBSD 9 发布分支的第二次更新。它代表了自 2020 年 10 月NetBSD 9.1发布以来,由于安全或稳定性原因而被认为是重要的修正的子集,以及一些从开发分支回传的改进。它与 NetBSD 9.0 完全兼容。 NetBSD 是一个免费的、安全的及高度可移植的类 UNIX 操作系统,它适合于很多种平台,从 64 位的 AlphaServers 及桌面系统到手持及嵌入式系统。它在设计上非常整洁,并拥有先进的特性,这使得它在业界和学术界都有口皆碑。用户可通过完整的源代码来获得支持。很多应用程序都可容易地从 NetBSD Packages Collection 获得。 自 NetBSD 9.1 以来的更改如下: Kernel netinet:避免信息泄露,NetBSD-SA2021-001:IPv4 和 IPv6 中可预测的 ID 泄露 netinet:修复了“multicast router发送带有无效 UDP 校验和的 multicast packet”(PR 55779) xen:XSA-362 的修复-...
- 下一篇
RHEL 8.4 发布
RHEL 8.4 已于 5 月 19 日向客户全面推出。8.4 版本为混合云、边缘部署带来了重要功能,并为运营商、开发商和 RHEL 标准化组织带来了增强功能。 边缘计算 在 RHEL 8.3 中,红帽宣布了一个 RHEL 的部署选项,以帮助解决边缘计算环境中常见的挑战。在 8.4 版本中,在原基础上改进了 RHEL 的边缘计算功能的用户体验。 RHEL 8.4 简化了更新,提供了额外的选项来安装到断开连接的系统(如许多边缘系统),并增加了使用 OSTree 存储库和 OCI 容器镜像的能力。 Red Hat Insights Red Hat Insights 服务中的扩展功能(漏洞、合规性、资源优化和订阅)可帮助组织更有效地跨开放式混合云(包括公共云中的部署)管理其 RHEL 资产。 混合云 结合 8.4 版本所做的工作之一是简化云访问计划,使其在部署基于云的系统时更容易消费内容,并使用 Insights 生态系统管理它们。 8.4 中的更多内容 RHEL 8.4 带有 Container Tools 3.0 AppStream,其中包含了 Podman、Buildah、Skopeo...
相关文章
文章评论
共有0条评论来说两句吧...