Parcel v1.10.0发布,默认支持 Babel 7、Flow、Elm等

简介: 我们一起来看看有哪些新的变化

原文作者:devongovett

译者:UC 国际研发 Jothy


我们一起来看看有哪些新的变化:

支持 Babel 7 - Parcel 现在支持开箱即用的 Babel 7 插件,同时也支持 Babel 6。 此外,我们现在会为您自动安装正确版本的 Babel,以及您开发时缺少的任何插件!

自动支持 Flow - Parcel 会自动检测 Flow 类型并在构建时从 JS 中剥离它们,就像我们已经为 TypeScript 做的那样。 无需配置 Babel - 它就能生效!

支持 Elm - 现在支持 Elm 开箱即用! 如果需要,我们会自动为您安装 Elm 工具链,并为您初始化 Elm 项目。 生产版本默认包含完整的优化支持。

支持内联脚本和样式 - Parcel 会检测内联样式属性,以及HTML 中的

HTML 包加载器 - 您现在可以使用 import('./ some.html')语法,在运行时异步加载外部 HTML 文件到你的 JavaScript 中。

支持 JSON LD - Parcel 现在可以检测出 HTML 中引入的 JSON LD 文档类型 assets,并将它们包含在构建中。

加载现有的 source maps - Parcel 现在可以从被导入的预编译 JavaScript 文件中加载被引用的现有 source maps,因此您可以使用真正的原始源进行调试。

非常感谢为此次发布做出贡献的所有人!

Babel 7

Babel 7 开发已经很长时间了,几周前它终于发布了正式版。 Parcel v1.10.0 现在支持开箱即用的 Babel 7,同时保留对使用 Babel 6 的现有项目的支持。 当您切换到 Babel 7 时,您应该能看到更快的构建性能,以及对新的语言特性提议的支持。

对于许多 Parcel 项目而言,根本不需要 .babelrc,因为 Parcel 自动支持使用 babel-preset-env 编译现代 JS,以及自动支持 JSX,现在也支持 Flow(见下文)。 对于那些项目,您根本不需要做任何事情来开始使用 Babel 7 - Parcel 将自动为您完成!

在使用 Babel 6 的 .babelrc 的现有项目中,我们将继续正常使用 Babel 6。 如果你的 package.json 中没有对 babel-core 的明确依赖,那么将自动为你安装一个。

如果你想升级到 Babel 7,你需要在你的 package.json 上添加对 @babel/core 的依赖,并删除对 babel-core 的依赖,并调整你的 .babelrc 以指向 Babel 7 插件。之后,Parcel 将自动使用 Babel 7 来构建您的代码。

对于新项目,当您创建 .babelrc 文件时,我们将自动检测插件是否依赖于 Babel 6 或 7,并自动将 babel-core 或 @babel/core 安装到您的项目中。

如果尚未安装,Parcel 现在还将自动安装 .babelrc 中指定的 Babel 插件。现在,您只需要为项目添加一个新插件,就可以将插件添加到 .babelrc 中,Parcel 会为您安装它!

Automatic Flow Support

如果您在 JavaScript 中使用 Flow 类型系统,则通常需要添加 Babel 插件以在构建过程中删除类型。 有了 Parcel v1.10.0,这将自动为您完成。

Parcel 会自动检测顶部带有 @flow 注释的文件,并为您删除类型。 这意味着在您的应用中管理的手动配置更少 - 更容易上手和维护!

Elm Support

Elm 是一种编译为 JavaScript 的函数式编程语言,专为构建 Web 应用程序而设计。 Parcel v1.10.0 现在支持 Elm 开箱即用,零配置!

当检测到 .elm 文件时,如果您尚未安装 elm 编译器工具链,则会自动为您安装 elm 编译器工具链,如果需要,使用 elm.json 文件初始化项目,并将文件编译为 JavaScript。 它会在您更改文件时自动重新加载页面,以便快速开发。

当您准备好投入生产时,Parcel 会为您处理压缩和优化设置。 由于 Elm 没有副作用,因此可以自动启用一些高级优化,从而生成的代码比 JavaScript minifier 通常生成的小得多。

Inline script and style support

Parcel 现在可以处理 HTML 中的内联样式属性,以及内联

image.png

您现在也可以在 HTML 中使用内联的 compile-to-JS(例如 CoffeeScript 或 TypeScript)或者编译为 CSS(例如 SASS 或 Stylus )语言。 只需使用 type 属性:

image.png

如果你想使用,你可以在github上获取到:

https://github.com/parcel-bundler/parcel

英文原文:

https://medium.com/@devongovett/parcel-v1-10-0-babel-7-flow-elm-and-more-c20736553573

目录
相关文章
|
Kubernetes 网络协议 Java
程序技术好文:记一次k8spod频繁重启的优化之旅
程序技术好文:记一次k8spod频繁重启的优化之旅
902 0
|
网络性能优化 调度
|
人工智能 数据可视化
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
2395 1
软件项目常见风险及其预防措施
(1)合同风险 签订的合同不科学、不严谨,项目边界和各方面责任界定不清楚等是影响项目成败的重大因素之一。 预防这种风险的办法是项目建设之初项目经理就需要全面准确地了解合同各条款的内容、尽早和合同各方就模糊或不明确的条款签订补充协议。
7550 0
|
NoSQL 关系型数据库 MySQL
使用redis( RedisTemplate )中的BitMap 记录用户签到情况
使用redis( RedisTemplate )中的BitMap 记录用户签到情况
902 0
|
资源调度 5G 测试技术
网络切片技术 |带你读《5G无线网络规划与设计》之五
术语“切片”在工业和学术界用于对几乎任何类型的(网络)资源进行切片。在 5G 系统中,切片特指针对构建 PLMN 的资源。但是,PLMN 网络切片部署时可以使用其他领域内的切片技术,例如传输网中的切片技术等。
10705 6
网络切片技术 |带你读《5G无线网络规划与设计》之五
|
安全 PHP
PHP伪协议-文件包含漏洞常用的伪协议
在实战中文件包含漏洞配合PHP的伪协议可以发挥重大的作用,比如读取文件源码,任意命令执行或者开启后门获取webshell等,常用的伪协议有 php://filter 读
1001 0
PHP伪协议-文件包含漏洞常用的伪协议
|
存储 数据采集 运维
蚂蚁智能监控
AntMonitor 是蚂蚁集团的智能监控系统,通过构建面向监控可观测数据的、实时的、稳定的采集、清洗、计算及存储数据链路,为技术风险大脑及体系提供实时、稳定、可靠、丰富的可观测数据与告警服务。 AntMonitor 日常服务于蚂蚁全站 100+ 业务域,分钟峰值数据清洗量 20TB、数据聚合量 1TB、数据存储量 1.5 亿条,大促期间这些指标更是成倍增长,如此庞大且复杂的系统是如何对自身的稳定性进行保障的,这篇文章将从思考、策略与实现的角度带领大家一探究竟。
全程BUG跟踪管理, 云效平台助企业提升项目研发进度
云效平台推出的缺陷管理系统,主要对bug的生命周期进行跟踪管理,包括缺陷的记录、分析、状态更新以及项目缺陷数据的统计分析,帮助规范项目中缺陷处理的流程。
5375 9

热门文章

最新文章